示例

PHP array_diff() 函数

<?php
$a1 = [1, 2, 3, 4];
$a2 = [1, 2, 3];
 
$result = array_diff($a1,$a2);
print_r($result);

//结果
//[4]

定义和用法

array_diff() 函数用于比较两个(或更多个)数组的,并返回差集。

该函数比较两个(或更多个)数组的值(key=>value 中的 value),并返回一个差集数组,该数组包括了所有在被比较的数组(array1)中,但是不在任何其他参数数组(array2 或 array3 等等)中的值。

参数描述
array1必需。与其他数组进行比较的第一个数组。
array2必需。与第一个数组进行比较的数组。
array3,…可选。与第一个数组进行比较的其他数组。

更多示例

$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"black","g"=>"purple");
$a3=array("a"=>"red","b"=>"black","h"=>"yellow");
 
$result=array_diff($a1,$a2,$a3);
print_r($result);

//结果
Array ( [b] => green [c] => blue )

以上转自:PHP array_diff() 函数 | 菜鸟教程

Laravel中类似的方法

Laravel中可用的集合方法 diff 可以很优雅的达到 PHP array_diff 函数的效果

$collection = collect([1, 2, 3, 4, 5]);

// ->diff()可是比较数组也可以是laravel的集合
$diff = $collection->diff([2, 4, 6, 8]);

dump($diff->all());

//结果
// [1, 3, 5]