По определению, массив - это список элементов. Так, например, у вас может быть массив, содержащий список продуктов.
PHP предоставляет вам два типа массивов: индексированные(или индексные) и ассоциативные.
Ключи индексного массива - это целые числа, начинающиеся с 0. Обычно индексированные массивы используются, когда вы хотите получить доступ к элементам по их позициям.
Ключи ассоциативного массива - это строки. И вы используете ассоциативные массивы, когда хотите получить доступ к элементам с помощью строковых ключей.
В этом руководстве основное внимание уделяется индексному массиву.
В PHP вы можете использовать конструкцию array() или синтаксис [] (квадратные скобки) для определения массива. Синтаксис [] короче и удобнее.
<?php
$empty_array = array();
Чтобы создать массив с некоторыми начальными элементами, вы помещаете список элементов, разделенных запятыми, в круглые скобки конструкции array().
Например, следующий пример определяет массив с тремя числами:
<?php
$scores = array(1, 2, 3);
PHP предоставляет более удобный способ определения массивов с помощью более короткого синтаксиса [], известного как нотация JSON. В следующем примере синтаксис [] используется для создания нового пустого массива:
<?php
$empty_array = [];
В следующем примере синтаксис [] используется для создания нового массива, состоящего из трех чисел:
<?php
$scores = [1, 2, 3];
Чтобы показать содержимое массива, вы можете использовать функцию var_dump (). Например:
<?php
$scores = [1, 2, 3];
var_dump($scores);
Вывод:
array(3) {
[0]=> int(1)
[1]=> int(2)
[2]=> int(3)
}
Или вы можете использовать функцию print_r():
<?php
$scores = array(1, 2, 3);
print_r($scores);
Вывод:
Array
(
[0] => 1
[1] => 2
[2] => 3
)
Чтобы сделать вывод более читаемым, вы можете заключить вывод функции print_r () в тег <pre> (только для вывода в браузер). Например:
<?php
$scores = [1, 2, 3];
echo '<pre>';
print_r($scores);
echo '</pre>';
Чтобы получить доступ к элементу в массиве, вы указываете ключ(индекс или строковый ключ) элемента в квадратных скобках:
$array_name[index]
Обратите внимание, что индекс первого элемента массива начинается с нуля, а не с единицы. В следующем примере показано, как получить доступ к первому элементу массива:
<?php
$scores = [1, 2, 3];
echo $scores[0];
Вывод:
1
Чтобы добавить элемент в массив, вы используйте следующий синтаксис:
$array_name[] = new_element;
PHP будет вычислять наивысший числовой индекс плюс один каждый раз, когда вы присваиваете элемент массиву. В следующем примере показано, как добавить число 4 в массив $scores:
<?php
$scores = [1, 2, 3];
$scores[] = 4;
В этом примере мы изначально объявили массив, состоящий из трех чисел. Затем мы добавили в массив число 4.
При добавлении нового элемента в массив можно использовать индекс. Например:
$scores = [1, 2, 3];
$scores[3] = 4;
Но при этом вам придется рассчитывать новый индекс вручную. Это непрактично. Кроме того, если индекс уже используется, значение будет перезаписано.
$array_name[index] = $new_element;
Например, чтобы изменить первый элемент массива $scores с 1 на ноль, необходимо сделать следующее:
<?php
$scores = [1, 2, 3];
$scores[0] = 0;
Чтобы удалить элемент из массива, используется функция unset(). Следующий пример удаляет второй элемент массива $scores:
<?php
$scores = [1, 2, 3];
unset($scores[1]);
Чтобы получить количество элементов в массиве, вы используете функцию count (). Например:
<?php
$scores = [1, 2, 3, 4, 5];
echo count($scores);
Вывод:
5