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

Arr::where

Статический метод where класса Arr применяется к массиву и возвращает отфильтрованный массив, содержащий только те элементы, для которых callback-функция вернула true. Первым параметром передаётся исходный массив, вторым - замыкание или имя встроенной функции, которая будет применяться к каждому элементу. По умолчанию метод сохраняет ключи исходного массива.

Синтаксис

<?php use Illuminate\Support\Arr; $res = Arr::where($array, $callback); ?>

Пример

Давайте отфильтруем массив чисел, оставив только чётные значения:

<?php use Illuminate\Support\Arr; $array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; $res = Arr::where($array, function ($value, $key) { return $value % 2 === 0; }); print_r($res); ?>

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

Array ( [1] => 2 [3] => 4 [5] => 6 [7] => 8 [9] => 10 )

Пример

Давайте отфильтруем элементы массива, оставив только строки длиннее 3 символов:

<?php use Illuminate\Support\Arr; $array = ['abcde', 'ab', 'abcdef', 'a', 'abc', 'abcd']; $res = Arr::where($array, function ($value, $key) { return strlen($value) > 3; }); print_r($res); ?>

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

Array ( [0] => abcde [2] => abcdef [5] => abcd )

Пример

Давайте отфильтруем ассоциативный массив по значению ключа:

<?php use Illuminate\Support\Arr; $array = [ 'first' => 1, 'second' => 2, 'third' => 3, 'fourth' => 4, 'fifth' => 5 ]; $res = Arr::where($array, function ($value, $key) { return $value > 3; }); print_r($res); ?>

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

Array ( [fourth] => 4 [fifth] => 5 )

Пример

Давайте используем встроенную функцию в качестве callback:

<?php use Illuminate\Support\Arr; $array = ['abcde', 'ab', 'abcdef', 'a', 'abc', 'abcd']; $res = Arr::where($array, 'strlen'); print_r($res); ?>

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

Array ( [0] => abcde [1] => ab [2] => abcdef [3] => a [4] => abc [5] => abcd )

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

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