Массивы в PHP бывают двух типов: ассоциативные и числовые (списковые). Ассоциативные массивы используют пользовательские ключи (не обязательно цифровые), а числовые – нумерованные индексы, начинающиеся с нуля.
Работа с числовыми массивами
Создадим простой числовой массив:
$array = [12, 17, 5, 23, 56];
Подсчёт элементов: count()
Функция count() подсчитывает количество элементов в массиве. Аргумент – имя массива:
echo count($array); // Выведет 5
Сортировка массивов: sort(), arsort()
sort() сортирует массив по возрастанию:
sort($array);
print_r($array); // Выведет: Array ( [0] => 5 [1] => 12 [2] => 17 [3] => 23 [4] => 56 )
arsort() – по убыванию:
arsort($array);
print_r($array); // Выведет: Array ( [0] => 56 [1] => 23 [2] => 17 [3] => 12 [4] => 5 )
Работа с ассоциативными массивами
Ассоциативные массивы хранят данные как пары «ключ-значение»:
$assoc_array = ['a' => 12, 'b' => 17, 'c' => 5];
При сортировке важно сохранить соответствие ключей и значений. sort() и arsort() переупорядочивают элементы, теряя ключи. Для сортировки с сохранением ключей используйте:
- ksort() – сортировка по ключам по возрастанию
- krsort() – сортировка по ключам по убыванию
Пример:
ksort($assoc_array);
print_r($assoc_array); // Выведет отсортированный массив по ключам по возрастанию
krsort($assoc_array);
print_r($assoc_array); // Выведет отсортированный массив по ключам по убыванию
Дополнительные функции
Перемешивание элементов: shuffle()
shuffle() перемешивает элементы массива случайным образом:
shuffle($array);
print_r($array); // Выведет перемешанный массив
Проверка существования элемента: in_array()
in_array() проверяет наличие значения в массиве:
$exists = in_array(12, $array); // Проверяем, есть ли число 12 в массиве
var_dump($exists); // Выведет bool(true) или bool(false)
Объединение массивов: array_merge()
array_merge() объединяет два и более массивов:
$array1 = [10, 2];
$array2 = [5, 7];
$merged_array = array_merge($array1, $array2);
print_r($merged_array); // Выведет объединенный массив
Извлечение части массива: array_slice()
array_slice() извлекает часть массива, начиная с указанного индекса и заданной длины.
$sliced_array = array_slice($array, 1, 3); // Начиная со второго элемента (индекс 1), взять 3 элемента
print_r($sliced_array); // Выведет соответствующую часть массива
$sliced_array = array_slice($array, 1, -2); // Начиная со второго элемента, взять все, кроме последних двух
print_r($sliced_array); // Выведет соответствующую часть массива
Рассмотрены основные функции PHP для работы с массивами: count(), sort(), arsort(), ksort(), krsort(), shuffle(), in_array(), array_merge(), и array_slice(). Более подробную информацию см. в официальной документации PHP.