🧱 Суть

PHP предоставляет большой набор встроенных функций для работы с массивами: поиск, сортировка, фильтрация, преобразование и объединение данных.

💻 Код

Получение информации

Количество элементов:

count($array);

Проверка существования ключа:

array_key_exists('name', $user);

Проверка наличия значения:

in_array('John', $users);

Получить все ключи:

array_keys($user);

Получить все значения:

array_values($user);

Добавление и удаление

Добавить в конец:

array_push($numbers, 40);

Удалить последний:

array_pop($numbers);

Добавить в начало:

array_unshift($numbers, 5);

Удалить первый:

array_shift($numbers);

Преобразование

Применить функцию к каждому элементу:

array_map(fn($n) => $n * 2, $numbers);

Отфильтровать массив:

array_filter(
    $numbers,
    fn($n) => $n > 10
);

Свести массив к одному значению:

array_reduce(
    $numbers,
    fn($sum, $n) => $sum + $n,
    0
);

Объединение и сравнение

Объединить массивы:

array_merge($first, $second);

Разница между массивами:

array_diff($first, $second);

Общие элементы:

array_intersect($first, $second);

Работа с многомерными массивами

Получить значения одного столбца:

array_column($users, 'name');

Пример:

$users = [
    ['name' => 'John'],
    ['name' => 'Alice'],
];
 
array_column($users, 'name');
 
// ['John', 'Alice']

Сортировка

По значениям:

sort($numbers);

В обратном порядке:

rsort($numbers);

По ключам:

ksort($user);

По значениям с сохранением ключей:

asort($user);

Пользовательская сортировка:

usort(
    $users,
    fn($a, $b) => $a['age'] <=> $b['age']
);

🎯 Вывод

  • большинство операций с массивами уже реализовано встроенными функциями
  • вместо ручных циклов часто удобнее использовать array_map(), array_filter() и array_reduce()
  • для сортировки, поиска и объединения существуют специализированные функции

🔗 Связано