Задача №7 - Задать массив из 7-ми элементов через предварительное описание типа

Задачи из этого этого списка

<?php
/* Задать массив из 7-ми элементов через предварительное описание типа,
 заполнить его случайными значениями в одном цикле,
  а в другом цикле вывести эти значения на экран.*/

# Определяем размер массива

$array = new SplFixedArray(7);

# Заполняем массив случайными числами

for ( $i = 0; $i < 7; $i++ ) {
    $value = rand( -10, 35 ); 
    $array[$i] = $value;
} 

# Выводим содержимое массива
    
foreach ( $array as $value ) {
    echo $value . '<br />';
}   
?>

Key Words for FKN + antitotal forum (CS VSU):

melisa's picture

  1. если вы присваиваете массиву очередное значение (индекс которого следующий после предыдущего), то данный индекс не обязательно указывать в [], а можно оставить их пустыми:
    $array[] = $value;

    вместо

    $array[$i] = $value;
  2. результат функции rand() можно сразу записывать в массив. Запись его в переменную, а переменную - в массив - лишний код.
    $array[] = rand( -10, 35 );
Pavel1989's picture

<?php
/* Задать массив из 7-ми элементов через предварительное описание типа,
 заполнить его случайными значениями в одном цикле,
  а в другом цикле вывести эти значения на экран.*/

# Определяем размер массива

$array = new SplFixedArray(7);

# Заполняем массив случайными числами

for ( $i = 0; $i < 7; $i++ ) {
    $array[$i] = rand( -10, 35 ); 
}

# Выводим массив на экран

for ( $i = 0; $i < 7; $i++ ) {
    echo $array[$i]. '<br />';
}   
?>

В случае пустых скобок, выдает ошибку при компиляции (ссылка):

melisa's picture

  1. Компиляция в программировании - что это.
  2. Ошибка появляется, если вы пробуете распечатать $array[]:
    echo $array[] . '<br />';

    Это логично, т.к. программа не может понять, какой элемент вывести на экран. Пустые скобки можно использовать только при добавлении "следующего за последним существующим" элемента в массив.
    Аналог - метод push() в языке рограммирования JavaScript

Pavel1989's picture

<?php
/* Задать массив из 7-ми элементов через предварительное описание типа,
 заполнить его случайными значениями в одном цикле,
  а в другом цикле вывести эти значения на экран.*/

$N = 7;         // Определяем размер массива
$array[0] = 3; // Определяем нулевой элемент массива

// Заполняем массив случайными числами

for ( $i = 1; $i < $N; $i++ ) {
    $array[] = rand( 1, 9 ); 
}

// Выводим массив на экран

foreach ($array as $value) {
    echo "$value". '<br />';
}
?>
melisa's picture

принято