如何删除包含在另一个数组中的元素

3

I have an array like

<?php
 $array1 = array(1,2,3,5);
 $array2 = array(1,3,4,5,6,7);

?> 

i want $array3 to look like

 $array3 = array(4,6,7);

简单来说,就是从 $array2 中删除与 $array1 相同的元素。我是一名新手,搜索了很多但没有找到相关信息,感谢您的帮助。
1个回答

5
使用 array_diff() 函数:
$result = array_diff($array2, $array1);

请注意,这里参数的顺序很重要。上面的语句检查$array2$array1的差异,并返回$array2中在$array1不存在的值。
输出:
Array
(
    [2] => 4
    [4] => 6
    [5] => 7
)

现在如果我想让数组像Array([1]=>4,[2]=>6,[3]=7)这样,我该怎么做? - user3560703
@user3560703: $result = array_values(array_diff($array2, $array1));(但是这将会给出Array([0]=>4,[1]=>6,[2]=7),我猜这就是你想要的)。查看演示 - Amal Murali
@user3560703:很高兴能帮忙。 - Amal Murali

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接