Функции массива 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 делают разработку более интересной и удобной, а главное быстрой. Написав один раз правильный код, вы автоматизируете многие процессы которые приносили неудобство ранее. Самое главное, понять принцип работы этих функций, запомнить это и всегда внедрять на практике доводя до автоматизма.