Оглавление

Создание массива и доступ к нему

Предположим, нужно хранить среднюю температуру каждого месяца в году. Если использовать обычные однозначные переменные, также называемые скалярными, нужно 12 отдельных переменных — $temp_jan, $temp__feb и т.д. Массив позволяет использовать одно имя переменной для группирования значений, а индекс (или ключ) позволяет найти соответствующее значение для каждого месяца.


В следующем примере создается массив $temps с 12-ю значениями, которые соответствуют всем месяцам, с января по декабрь:

$temp = array(38, 40, 49, 60, 70, 79,
              84, 83, 76, 65, 54, 42);


Созданный массив $temps содержит 12 значений и проиндексирован от 0 до 11. Для того чтобы обратиться к значению массива, после имени нужно указать соответствующий индекс. Например, покажем температуру в марте:

echo $temp[2]

 

 

Индексные номера
Так как по умолчанию массив начинается с нуля, индекс для марта (третьего месяца) равен двум.

 

 

Квадратные скобки также используются для того, чтобы присвоить значение отдельному элементу массива. Чтобы установить новое значение ноябрю, используется следующая конструкция:

$temps[10] = 56;

 

Функция array
Функция array позволяет быстро создать массив из списка значений. Это намного удобнее, чем по отдельности добавлять каждый элемент в массив.

 

 

Если при инициализации элемента массива не указать в квадратных скобках индекс, значение индекса устанавливается автоматически. Оно будет на единицу больше самого большого индекса в массиве. В примере ниже пустой массив $temps последовательно заполняется значениями, что полностью идентично примеру выше:

$temps[] = 38; 
$temps[] = 40; 
$temps[] = 49;


Здесь элементу $temps[0] присваивается значение 38, элементу $temps[l] — 40 и так далее. Если нужно присвоить значение элементу $temps[0], желательно убедиться в том, что массив не инициализирован раньше. Для этого можно инициализировать массив пустым значением. В примере ниже показывается эта конструкция:

$temps = array();
Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити