Функции массива PHP обзор на примерах

Функции массива PHP обзор на примерах

При работе с данными, нам задачи упрощают функции массивов php, которые насчитываются десятками. В данной статье мы разберем на примерах несколько основных, или часто встречающихся в работе. Кроме работы с массивами в php не редко появляется необходимость в работе со строками, в одной из предыдущих статей мы уже рассказывали про функции строк в php на примерах.

Что такое массив в PHP

Массив PHP — это обычная переменная, но в которой могут хранится данные независимые друг от друга, в более структурированном виде. В одной из прошлых публикаций мы описывали многомерные массивы в php и как с ними работать.

Основные функции массива в PHP

Рассмотрим самые основные и часто встречающиеся функции массива php с которыми вам придется работать создавая ту или иную программу. Для начала приводим таблицу функций для краткого ознакомления, а ниже уже разберем каждую функцию массива отдельно на примерах кода.

Функция Описание
count() Возвращает количество элементов в массиве. Используется для определения длины массива.
array_push() Добавляет один или несколько элементов в конец массива и возвращает новое количество элементов.
array_pop() Удаляет последний элемент массива и возвращает его значение. Изменяет исходный массив.
array_shift() Удаляет первый элемент массива и возвращает его. Индексы оставшихся элементов переиндексируются.
array_unshift() Добавляет один или несколько элементов в начало массива и возвращает новое количество элементов.
in_array() Проверяет, содержится ли указанное значение в массиве. Возвращает true или false.
array_merge() Объединяет два или более массивов в один. При совпадении ключей значения из последних массивов перезаписывают предыдущие.
array_keys() Возвращает массив, содержащий все ключи исходного массива. Полезно при работе с ассоциативными массивами.
array_values() Возвращает массив, состоящий только из значений исходного массива, без ключей.
array_map() Применяет заданную функцию ко всем элементам массива и возвращает новый массив с результатами.
array_filter() Фильтрует массив, сохраняя только те элементы, для которых пользовательская функция возвращает true.
array_reduce() Постепенно сводит массив к одному значению, применяя заданную функцию-аккумулятор к каждому элементу.

Функция массива PHP — count()

Функция count() — производит подсчет количества элементов массива.

$items = ["яблоко", "груша", "банан"];
echo count($items); // 3

Функции массива PHP — array_push() и array_pop()

Данные функции добавляют и удаляют элементы в самом конце массива. Функция array_push() — добавит элемент в самый конец массива, в то время как функция array_pop() — удалит элемент в конце массива.

$stack = ["HTML", "CSS"];
array_push($stack, "PHP"); // Добавляем элемент
echo array_pop($stack);    // Удаляем последний (PHP)

Функции массива PHP — array_shift() и array_unshift()

Эти функции действуют аналогично предыдущим, только добавляют и удаляют элементы в самом начале массива. Функция array_shift() — добавляет элемент в начало массива делая его первым, а уже функция array_unshift() — удалит первый элемент массива.

$queue = ["первый", "второй", "третий"];
array_unshift($queue, "новый первый");
array_shift($queue); // удалит "новый первый"

Функция массива PHP — in_array()

Функция массива in_array() — проверяет наличие элемента в массиве. Таким образом мы можем избежать ошибки, заранее проверив есть ли в массиве нужный нам элемент.

$fruits = ["яблоко", "груша", "банан"];
if (in_array("груша", $fruits)) {
  echo "Есть груша!";
}

Функция массива PHP — array_merge()

Очень полезная функция array_merge() объединяющая массивы между собой. Если вдруг у нас есть два источника данных и нам нужно объединить эти данные в одну структуру, то данная функция отлично справится с этой задачей.

$a = ["HTML", "CSS"];
$b = ["PHP", "JavaScript"];
$result = array_merge($a, $b);
// ["HTML", "CSS", "PHP", "JavaScript"]

Функции массива PHP — array_keys() и array_values()

Данные функции предназначены для получения всех ключей массива или всех значений массива. Функция array_keys() вернет все ключи массива, а функция array_values() вернет все значения массива.

$user = ["name" => "Пётр", "age" => 25];
print_r(array_keys($user));   // ["name", "age"]
print_r(array_values($user)); // ["Пётр", 25]

Функция массива PHP — array_map()

Необычная и мощная функция array_map() дает возможность применить какое либо действие ко всем данным в массиве, например, если нам нужно что то заменить в строке либо произвести расчет. Про замену в строке мы писали ранее в статье: Функции строк (функция замены в строке).

$nums = [1, 2, 3];
$result = array_map(fn($n) => $n * 2, $nums); // умножаем на 2
// [2, 4, 6]

Функция массива PHP — array_filter()

Интересная функция array_filter() производит фильтрацию элементов массива которая будет задана в передаваемой функции. Например, выведем только четные числа.

$nums = [1, 2, 3, 4, 5];
$even = array_filter($nums, fn($n) => $n % 2 == 0);
print_r($even); // [2, 4]

Функция массива PHP — array_reduce()

С помощью функции array_reduce() сведем все числа содержащиеся в массиве к общему значению, то есть, сумме чисел.

$nums = [1, 2, 3, 4];
$sum = array_reduce($nums, fn($carry, $n) => $carry + $n);
echo $sum; // 10

Пример реального использования — array_filter() и array_reduce()

Приведем подобие реального использования функций на примере подсчета общей стоимости товаров, но тех товаров что в наличии.

$products = [
  ["name" => "Ноутбук", "price" => 70000, "available" => true],
  ["name" => "Клавиатура", "price" => 3000, "available" => true],
  ["name" => "Монитор", "price" => 15000, "available" => false],
];

$available = array_filter($products, fn($item) => $item["available"]);
$total = array_reduce($available, fn($sum, $item) => $sum + $item["price"], 0);

echo "Общая сумма: {$total} руб.";
// Общая сумма: 73000 руб.

Итоги PHP функций

Как вы уже увидели, функции массива PHP делают разработку более интересной и удобной, а главное быстрой. Написав один раз правильный код, вы автоматизируете многие процессы которые приносили неудобство ранее. Самое главное, понять принцип работы этих функций, запомнить это и всегда внедрять на практике доводя до автоматизма.