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

Метод reject

Метод reject применяется к коллекции и возвращает новую коллекцию, из которой удалены все элементы, прошедшие проверку через переданное замыкание или условие. Первым параметром передаётся замыкание, которое принимает элемент коллекции и возвращает true для элементов, которые нужно исключить. Если условие истинно для элемента, то этот элемент не попадает в новую коллекцию.

Синтаксис

<?php $collection->reject(callable $callback); ?>

Пример

Давайте исключим из коллекции все чётные числа:

<?php use Illuminate\Support\Collection; $collection = new Collection([1, 2, 3, 4, 5]); $res = $collection->reject(function ($item) { return $item % 2 === 0; }); echo $res; ?>

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

[1, 3, 5]

Пример

Давайте исключим из коллекции строки, длина которых меньше 5 символов:

<?php use Illuminate\Support\Collection; $collection = new Collection(['abcde', 'abc', 'abcdef', 'ab', 'abcde']); $res = $collection->reject(function ($item) { return strlen($item) < 5; }); echo $res; ?>

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

["abcde", "abcdef", "abcde"]

Пример

Давайте исключим из коллекции элементы, содержащие определённую подстроку:

<?php use Illuminate\Support\Collection; $collection = new Collection(['article', 'post', 'category', 'user']); $res = $collection->reject(function ($item) { return str_contains($item, 'ar'); }); echo $res; ?>

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

["post", "user"]

Пример

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

<?php use Illuminate\Support\Collection; $collection = new Collection([true, false, true, false, true]); $res = $collection->reject('is_null'); echo $res; ?>

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

[true, false, true, false, true]

Пример

Давайте исключим из коллекции элементы, используя метод с доступом к ключам:

<?php use Illuminate\Support\Collection; $collection = new Collection(['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4]); $res = $collection->reject(function ($value, $key) { return $key === 'b' || $value > 3; }); echo $res; ?>

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

{"a": 1, "c": 3}

Пример

Давайте исключим из коллекции элементы, используя модель Eloquent:

<?php namespace App\Http\Controllers; use App\Models\Article; use Illuminate\Support\Collection; class ArticleController extends Controller { public function index() { $articles = Article::all(); $res = $articles->reject(function ($article) { return $article->status === 'draft'; }); echo $res; } } ?>

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

[ {"id": 1, "title": "article", "status": "published"}, {"id": 3, "title": "category", "status": "published"} ]

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

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