文档:https://www.php.net/manual/zh/function.array-diff.php

方法签名

array_diff(array $array, array ...$arrays): array

示例

<?php

$list1 = [1, 2, 3];
$list2 = [3];

print_r(array_diff($list1, $list2));
// Array
// (
//     [0] => 1
//     [1] => 2
// )

需要注意的是,该函数会保留键名

$list1 = [1, 2, 3];
$list2 = [1];

print_r(array_diff($list1, $list2));
// Array
// (
//     [1] => 2
//     [2] => 3
// )

// 此时转为json字符串可能会得到不希望的结果
print_r(json_encode(array_diff($list1, $list2)));
// {"1":2,"2":3}

// 需要使用array_values函数取出数组中的值,获得一个新的数组
print_r(json_encode(array_values(array_diff($list1, $list2))));
// [2,3]