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

Метод diff

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

Синтаксис

<?php $collection->diff($items); ?>

Пример

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

<?php use Illuminate\Support\Collection; $collection = new Collection([1, 2, 3, 4, 5]); $compare = new Collection([3, 4, 5, 6, 7]); $res = $collection->diff($compare); echo $res; ?>

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

"[1, 2]"

Пример

При сравнении строковых значений, метод учитывает регистр символов:

<?php use Illuminate\Support\Collection; $collection = new Collection(['a', 'b', 'c', 'A', 'B']); $compare = new Collection(['A', 'B', 'C']); $res = $collection->diff($compare); echo $res; ?>

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

"['a', 'b', 'c']"

Пример

Метод diff также работает с ассоциативными массивами, сравнивая только значения, но не ключи:

<?php use Illuminate\Support\Collection; $collection = new Collection([ 'name' => 'user', 'email' => 'user@mail.com', 'role' => 'admin' ]); $compare = new Collection([ 'email' => 'user@mail.com', 'role' => 'user' ]); $res = $collection->diff($compare); echo $res; ?>

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

"['name' => 'user', 'role' => 'admin']"

Пример

В качестве сравниваемых данных можно передать обычный массив, а не только коллекцию:

<?php use Illuminate\Support\Collection; $collection = new Collection(['a', 'b', 'c', 'd', 'e']); $compare = ['c', 'd', 'e']; $res = $collection->diff($compare); echo $res; ?>

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

"['a', 'b']"

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

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