РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1112 of 1392 menu

Класс Arr

Класс Arr предназначен для работы с массивами и предоставляет множество полезных статических методов. Он используется для получения значений по "точечному" синтаксису, проверки существования ключей, извлечения подмножеств, работы с вложенными структурами и многого другого. Все методы класса являются статическими и вызываются через Arr::method.

Синтаксис

<?php use Illuminate\Support\Arr; Arr::methodName($array, ...$arguments); ?>

Метод get - получение значения по ключу

Метод get извлекает значение из массива по указанному ключу, используя "точечный" синтаксис для доступа к вложенным элементам. Если ключ отсутствует, возвращается значение по умолчанию.

<?php use Illuminate\Support\Arr; $arr = ['a' => 'b', 'c' => ['d' => 'e', 'f' => 'g']]; $res = Arr::get($arr, 'c.d'); echo $res; ?>

Результат выполнения кода:

"e"

Метод get также позволяет указать значение по умолчанию, которое будет возвращено, если ключ не найден.

<?php use Illuminate\Support\Arr; $arr = ['a' => 'b']; $res = Arr::get($arr, 'c', 'default'); echo $res; ?>

Результат выполнения кода:

"default"

Метод has - проверка существования ключа

Метод has проверяет, существует ли заданный ключ (или ключи) в массиве. Для проверки вложенных ключей используется "точечный" синтаксис.

<?php use Illuminate\Support\Arr; $arr = ['a' => 'b', 'c' => ['d' => 'e']]; $res = Arr::has($arr, 'c.d'); var_dump($res); ?>

Результат выполнения кода:

"bool(true)"

Метод может принимать массив ключей и возвращает true, только если все они существуют.

<?php use Illuminate\Support\Arr; $arr = ['a' => 'b', 'c' => ['d' => 'e']]; $res = Arr::has($arr, ['a', 'c.d']); var_dump($res); ?>

Результат выполнения кода:

"bool(true)"

Метод only - извлечение подмножества массива

Метод only возвращает новый массив, содержащий только те элементы исходного массива, ключи которых указаны в переданном списке. Для вложенных ключей используется "точечный" синтаксис.

<?php use Illuminate\Support\Arr; $arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4]; $res = Arr::only($arr, ['a', 'c']); print_r($res); ?>

Результат выполнения кода:

"Array ( [a] => 1 [c] => 3 )"

Метод except - исключение элементов из массива

Метод except возвращает новый массив, из которого удалены элементы с указанными ключами.

<?php use Illuminate\Support\Arr; $arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4]; $res = Arr::except($arr, ['b', 'd']); print_r($res); ?>

Результат выполнения кода:

"Array ( [a] => 1 [c] => 3 )"

Метод first - получение первого элемента

Метод first возвращает первый элемент массива, для которого переданное замыкание возвращает true. Если замыкание не указано, возвращается просто первый элемент массива. Если подходящий элемент не найден, возвращается значение по умолчанию.

<?php use Illuminate\Support\Arr; $arr = [1, 2, 3, 4, 5]; $res = Arr::first($arr, function ($value) { return $value > 3; }); echo $res; ?>

Результат выполнения кода:

"4"

Метод last - получение последнего элемента

Метод last возвращает последний элемент массива, для которого переданное замыкание возвращает true. Если замыкание не указано, возвращается просто последний элемент массива.

<?php use Illuminate\Support\Arr; $arr = [1, 2, 3, 4, 5]; $res = Arr::last($arr, function ($value) { return $value < 5; }); echo $res; ?>

Результат выполнения кода:

"4"

Метод pluck - извлечение значений по ключу

Метод pluck извлекает все значения для заданного ключа из массива. Если передан второй аргумент, он используется в качестве ключа для результирующего массива.

<?php use Illuminate\Support\Arr; $arr = [ ['id' => 1, 'name' => 'a'], ['id' => 2, 'name' => 'b'], ['id' => 3, 'name' => 'c'] ]; $res = Arr::pluck($arr, 'name'); print_r($res); ?>

Результат выполнения кода:

"Array ( [0] => a [1] => b [2] => c )"

Пример с использованием второго аргумента для задания ключей:

<?php use Illuminate\Support\Arr; $arr = [ ['id' => 1, 'name' => 'a'], ['id' => 2, 'name' => 'b'], ['id' => 3, 'name' => 'c'] ]; $res = Arr::pluck($arr, 'name', 'id'); print_r($res); ?>

Результат выполнения кода:

"Array ( [1] => a [2] => b [3] => c )"

Метод flatten - преобразование многомерного массива в плоский

Метод flatten преобразует многомерный массив в одномерный. По умолчанию flatten работает рекурсивно, извлекая все вложенные элементы.

<?php use Illuminate\Support\Arr; $arr = [1, 2, [3, 4, [5, 6]]]; $res = Arr::flatten($arr); print_r($res); ?>

Результат выполнения кода:

"Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )"

Метод dot - преобразование в массив с "точечной" нотацией

Метод dot преобразует многомерный массив в одномерный, где ключи используют "точечный" синтаксис для обозначения вложенности.

<?php use Illuminate\Support\Arr; $arr = ['a' => ['b' => ['c' => 1, 'd' => 2]]]; $res = Arr::dot($arr); print_r($res); ?>

Результат выполнения кода:

"Array ( [a.b.c] => 1 [a.b.d] => 2 )"

Смотрите также

  • метод get,
    который извлекает значение из массива по ключу
  • метод has,
    который проверяет существование ключа в массиве
  • метод only,
    который извлекает только указанные элементы
  • метод flatten,
    который преобразует многомерный массив в плоский
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить