好的,两个数组:
$first = array(1,2,3,4,5,6,7,8,9,10);
$second = array(1,2,3,4,5);
有没有办法(如果可以帮助的话,不循环它们)做一个 array_merge 风格的函数,它返回这个数组:
$new = array(6,7,8,9,10);
如果找到匹配项,则不会返回它。
好的,两个数组:
$first = array(1,2,3,4,5,6,7,8,9,10);
$second = array(1,2,3,4,5);
有没有办法(如果可以帮助的话,不循环它们)做一个 array_merge 风格的函数,它返回这个数组:
$new = array(6,7,8,9,10);
如果找到匹配项,则不会返回它。
$new = array_diff($first, $second);
print_r($new);
/*
Array
(
[5] => 6
[6] => 7
[7] => 8
[8] => 9
[9] => 10
)
*/
array_diff()
应该这样做:
<?php
$array1 = array("a" => "green", "red", "blue", "red");
$array2 = array("b" => "green", "yellow", "red");
$result = array_diff($array1, $array2);
print_r($result);
?>
Array
(
[1] => blue
)
您正在以离散的方式寻找一个交集:
http://php.net/manual/en/function.array-intersect.php
编辑:哎呀,你想要相反的东西。
编辑2:给你,你想要不同:
试试这个:
$new = array_diff($first , $second );