在PHP中,如何在一个数组中找到不在另一个数组中的元素?

Jos*_*ger 9 php

是否有一个类似于array_merge的php函数,它完全相反?换句话说,我有两个数组.我想从第一个数组中删除第二个数组中存在的任何值.我可以通过循环迭代来做到这一点,但是如果有一个方便的函数可以做同样的事情,那将是首选的选项.

例:

array1 = [1, 2, 3, 4, 5]
array2 = [2, 4, 5]

$result = array_unmerge(array1, array2);
Run Code Online (Sandbox Code Playgroud)

$ result应该出现[1,3]

Ama*_*ali 24

您可以array_diff()用来计算两个数组之间的差异:

$array1 = array(1, 2, 3, 4, 5);
$array2 = array(2, 4, 5);

$array3 = array_diff($array1, $array2);
print_r($array3);
Run Code Online (Sandbox Code Playgroud)

输出:

Array
(
    [0] => 1
    [2] => 3
)
Run Code Online (Sandbox Code Playgroud)

演示!

  • +1表示说明,链接到文档,代码,输出和演示.完整,井井有条的答案. (4认同)