PHP: Числовые массивы
Массив представляет собой коллекцию значений, которая хранится в одной переменной. Массивы в PHP состоят из элементов, каждый из которых представлен парой ключ/значение.
Ключ - это идентификатор, с помощью которого можно обратиться к определённому значению. В качестве ключей могут использоваться целые числа (в этом случае массив называют числовым), строки (ассоциативный массив) или комбинация чисел и строк (смешанный массив). Значение может быть представлено любым типом данных.
Примечание: числовые ключи массива чаще всего называют индексами.
Создание числового массива
В числовых массивах каждый элемент имеет числовой индекс. Создать такой массив можно с помощью конструктора array()
, который принимает список значений, разделённых запятыми:
$a = array(1,2,3);
Он возвращает массив, содержащий столько элементов, сколько значений ему было передано. Возвращаемый массив обычно присваивают переменной, которая будет служить именем для массива.
Вместо конструктора array()
, можно использовать более короткий синтаксис создания массива, где конструктор заменяется квадратными скобками:
$a = [1,2,3];
После создания массива, мы можем обращаться к его элементам с помощью синтаксиса имя_массива[индекс]
:
echo $a[0]; // выводим значение первого элемента $a[1] = 5; // изменяем значение второго элемента
По умолчанию, первый элемент массива имеет индекс 0, второй имеет индекс 1, и так далее. В результате, 3 элемента нашего массива имеют индексы в диапазон от 0 до 2.
Мы рассмотрели два способа создания числового массива с автоматической установкой индексов для значений: с помощью конструктора и квадратных скобок, но оба эти способа позволяют также явно указывать индексы для значений. Чтобы явно указать индекс для значения используется следующий синтаксис: число => значение
:
$a = array(1=>1, 2=>2, 3=>3); $b = [1=>1, 2=>2, 3=>3];
Обратите внимание, что индексы не обязательно указывать для всех значений, можно явно указать индекс только для некоторых значений:
$b = [1, 15=>2, 10];
В этом случае, индекс последующего элемента, устанавливаемый по умолчанию, всегда устанавливается на единицу больше, чем самый большой индекс у какого-нибудь предшествующего элемента. Поэтому число 10 будет под индексом 16, а не 2.
При явном указании индексов стоит быть особенно внимательными, так как при большом количестве элементов в массиве можно допустить ошибку, указав индекс, который уже существует в массиве, в этом случае значение, которое указанно позже перезапишет значение, которое расположено под тем же индексом:
$b = [1, 2, 10, 2=>7];
В этом коде значение 10, находящееся под индексом 2, будет перезаписано на значение 7.
С этой темой смотрят: