(PHP 4, PHP 5, PHP 7, PHP 8)
array — Создаёт массив
Конструкция создаёт массив. Подробнее о массивах рассказывает раздел
«Массивы», включая сведения
об альтернативном синтаксисе с квадратными скобками — []
.
values
Параметр принимает пары, которые определяют индекс и значения, которые записали синтаксисом «индекс => значения» и разделили запятыми. Индекс разрешается указывать строкой или целым числом. PHP автоматически сгенерирует целочисленный индекс начиная с 0, если индекс не указали. Если индекс — целое число, следующим сгенерированным индексом станет наибольший целочисленный индекс + 1. Обратите внимание, если определить два одинаковых индекса, следующий перезапишет предыдущий.
Запятая после определения последнего элемента массива хотя и необычна, но не нарушает синтаксиса.
Конструкция возвращает массив параметров. Индекс параметрам
присваивают оператором =>
.
Подробнее о массивах рассказывает раздел
«Массивы».
Следующие примеры показывают, как создавать двумерный массив, как определять ключи ассоциативных массивов и как пропустить и продолжить числовые индексы в обычных массивах, если нумерация начинается с произвольного числа.
Пример #1 Пример определения массива языковой конструкцией array()
<?php
$fruits = array (
"fruits" => array("a" => "апельсин", "b" => "банан", "c" => "яблоко"),
"numbers" => array(1, 2, 3, 4, 5, 6),
"holes" => array("первый", 5 => "второй", "третий")
);
?>
Пример #2 Пример автоматической индексация при вызове конструкции array()
<?php
$array = array(1, 1, 1, 1, 1, 8 => 1, 4 => 1, 19, 3 => 13);
print_r($array);
?>
Результат выполнения приведённого примера:
Array ( [0] => 1 [1] => 1 [2] => 1 [3] => 13 [4] => 1 [8] => 1 [9] => 19 )
Обратите внимание, что индекс «3» определён дважды, и содержит последнее значение — 13. Индекс 4 определён после индекса 8, а следующий сгенерированный индекс (значение 19) — 9, поскольку самым большим индексом был 8.
Этот пример создаёт массив, нумерация которого начинается с 1.
Пример #3 Пример создания конструкцией array() массива, нумерация которого начинается с 1
<?php
$firstquarter = array(1 => 'January', 'February', 'March');
print_r($firstquarter);
?>
Результат выполнения приведённого примера:
Array ( [1] => January [2] => February [3] => March )
Как и в Perl, разработчику доступны значения массива внутри двойных кавычек. Однако в PHP нужно заключить массив в фигурные скобки.
Пример #4 Пример доступа к массиву внутри двойных кавычек
<?php
$foo = array('bar' => 'baz');
echo "Hello {$foo['bar']}!"; // Hello baz!
?>
Замечание:
array() — конструкция языка для представления литеральных массивов, а не обычная функция.