array_diff
Сравнивает array с одним или несколькими другими массивами и возвращает значения в array , которых нет ни в одном из других массивов.
Parameters
Return Values
Возвращает массив, содержащий все записи из array , которых нет ни в одном из других массивов. Ключи в array массива сохраняются.
Examples
Пример # 1 array_diff () Пример
$array1 = array("a" => "green", "red", "blue", "red"); $array2 = array("b" => "green", "yellow", "red"); $result = array_diff($array1, $array2); print_r($result); ?>
Множественные вхождения в $array1 обрабатываются одинаково. Это выведет:
Пример # 2 Пример array_diff () с несовпадающими типами
Два элемента считаются равными тогда и только тогда, когда (string) $elem1 === (string) $elem2 . То есть, когда строковое представление одинаково.
// This will generate a Notice that an array cannot be cast to a string. $source = [1, 2, 3, 4]; $filter = [3, 4, [5], 6]; $result = array_diff($source, $filter); // Whereas this is fine, since the objects can cast to a string. class S < private $v; public function __construct(string $v) < $this->v = $v; > public function __toString() < return $this->v; > > $source = [new S('a'), new S('b'), new S('c')]; $filter = [new S('b'), new S('c'), new S('d')]; $result = array_diff($source, $filter); // $result now contains one instance of S('a'); ?>
Чтобы использовать альтернативную функцию сравнения, см. Array_udiff () .
Notes
Note:
Эта функция проверяет только одно измерение n-мерного массива. Конечно, вы можете проверить более глубокие измерения, используя array_diff($array1[0], $array2[0]); .
See Also
- array_diff_assoc () — Вычисляет разницу массивов с дополнительной проверкой индекса
- array_udiff () — вычисляет разницу массивов с помощью функции обратного вызова для сравнения данных
- array_intersect () — вычисляет пересечение массивов
- array_intersect_assoc () — Вычисляет пересечение массивов с дополнительной проверкой индекса
PHP 8.2
(PHP 4,5,7,8)array_count_values Считает все значения массива array_count_values()возвращает массив значений,используя в качестве ключей и их частоту.
(PHP 4 4.3.0,5,7,8)array_diff_assoc Вычисляет разность массивов с дополнительной проверкой индексов Сравнивает массив с массивом и возвращает разность.
(PHP 5 5.1.0,7,8)array_diff_key Вычисляет разность массивов,используя ключи для сравнения Сравнивает ключи из массива с массивами и возвращает значение
array_diff
Сравнивает array1 с одним или несколькими другими массивами и возвращает значения из array1 , которые отсутствуют во всех других массивах.
Список параметров
Массив, с которым идет сравнение
Дополнительные массивы, с которыми осуществляется сравнение
Возвращаемые значения
Возвращает array , содержащий элементы array1 , отсутствующие в любом из всех остальных массивах.
Примеры
Пример #1 Пример использования array_diff()
$array1 = array( «a» => «green» , «red» , «blue» , «red» );
$array2 = array( «b» => «green» , «yellow» , «red» );
$result = array_diff ( $array1 , $array2 );
?php
Множественные совпадения в $array1 обрабатываются как одно. Результат будет следующим :
Примечания
Замечание:
Два элемента считаются одинаковыми тогда и только тогда, если (string) $elem1 === (string) $elem2. Другими словами, когда их строковое представление идентично.
Замечание:
Обратите внимание, что эта функция обрабатывает только одно измерение n-размерного массива. Естественно, вы можете обрабатывать и более глубокие уровни вложенности, например, используя array_diff($array1[0], $array2[0]);.
Смотрите также
- array_diff_assoc() — Вычисляет расхождение массивов с дополнительной проверкой индекса
- array_intersect() — Вычисляет схождение массивов
- array_intersect_assoc() — Вычисляет схождение массивов с дополнительной проверкой индекса
array_diff
Сравнивает array с одним или несколькими другими массивами и возвращает значения в array , которых нет ни в одном из других массивов.
Parameters
Return Values
Возвращает массив, содержащий все записи из array , которых нет ни в одном из других массивов. Ключи в array массива сохраняются.
Examples
Пример # 1 array_diff () Пример
$array1 = array("a" => "green", "red", "blue", "red"); $array2 = array("b" => "green", "yellow", "red"); $result = array_diff($array1, $array2); print_r($result); ?>
Множественные вхождения в $array1 обрабатываются одинаково. Это выведет:
Пример # 2 Пример array_diff () с несовпадающими типами
Два элемента считаются равными тогда и только тогда, когда (string) $elem1 === (string) $elem2 . То есть, когда строковое представление одинаково.
// This will generate a Notice that an array cannot be cast to a string. $source = [1, 2, 3, 4]; $filter = [3, 4, [5], 6]; $result = array_diff($source, $filter); // Whereas this is fine, since the objects can cast to a string. class S < private $v; public function __construct(string $v) < $this->v = $v; > public function __toString() < return $this->v; > > $source = [new S('a'), new S('b'), new S('c')]; $filter = [new S('b'), new S('c'), new S('d')]; $result = array_diff($source, $filter); // $result now contains one instance of S('a'); ?>
Чтобы использовать альтернативную функцию сравнения, см. Array_udiff () .
Notes
Note:
Эта функция проверяет только одно измерение n-мерного массива. Конечно, вы можете проверить более глубокие измерения, используя array_diff($array1[0], $array2[0]); .
See Also
- array_diff_assoc () — Вычисляет разницу массивов с дополнительной проверкой индекса
- array_udiff () — вычисляет разницу массивов с помощью функции обратного вызова для сравнения данных
- array_intersect () — вычисляет пересечение массивов
- array_intersect_assoc () — Вычисляет пересечение массивов с дополнительной проверкой индекса
PHP 8.2
(PHP 4,5,7,8)array_count_values Считает все значения массива array_count_values()возвращает массив значений,используя в качестве ключей и их частоту.
(PHP 4 4.3.0,5,7,8)array_diff_assoc Вычисляет разность массивов с дополнительной проверкой индексов Сравнивает массив с массивом и возвращает разность.
(PHP 5 5.1.0,7,8)array_diff_key Вычисляет разность массивов,используя ключи для сравнения Сравнивает ключи из массива с массивами и возвращает значение