我有两个阵列
$array1 = array(1, 2, 2, 3);
$array2 = array( 1, 2, 3,4);
Run Code Online (Sandbox Code Playgroud)
什么时候做的:
var_dump(array_diff($array1, $array2));
Run Code Online (Sandbox Code Playgroud)
得到:
array(0){}
Run Code Online (Sandbox Code Playgroud)
作为输出,但我正在寻找:
array(1){[2]=>2}
Run Code Online (Sandbox Code Playgroud)
有人可以让我知道如何做到这一点
提前致谢
尝试这个
$array1 = array(1, 2, 2, 3, 4, 5, 5, 7);
$array2 = array(1, 2, 4, 6, 3, 3, 5);
$diff = array_filter($array1,
function ($val) use (&$array2) {
$key = array_search($val, $array2);
if ( $key === false ) return true;
unset($array2[$key]);
return false;
}
);
print_r($diff);
// Array ( [2] => 2 [6] => 5 [7] => 7 )
Run Code Online (Sandbox Code Playgroud)