我有以下简单的功能来尝试理解该array_udiff()
功能
function udiffCompare( $value, $value2 )
{
echo $value . " - " . $value2 . "<br />";
}
$newArray = array(
'value2' => 2,
'value3' => 3,
'value4' => 4
);
$newArray2 = array(
'value2' => 2,
'value3' => 3,
'value4' => 4
);
array_udiff( $newArray, $newArray2, 'udiffCompare' );
我希望这会简单地返回:
2 - 2
3 - 3
4 - 4
但是它返回:
3 - 2
4 - 3
3 - 2
4 - 3
4 - 4
4 - 3
4 - 3
3 - 2
这让我相信我真的不了解这里的array_udiff()
工作原理。
即使我将上面的 echo 语句替换为:
if( $value == $value2 ) { return 1; } else { return 0; }
即使传递给函数的所有值都相等,输出的数组也是完全空的。
请问有人可以点亮吗?