PHP Массивы: Урок 23. Функции count() и работа с массивами

Массивы в 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.

Что будем искать? Например,программа