請問當(dāng)定義如下內(nèi)容的時候
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"green","g"=>"blue");
$result=array_diff($a1,$a2);
print_r($result);
返回的差集為 Array ( [d] => yellow )
但是如果將他們顛倒$a2 放在前面為什么就找不到差集的呢
$result=array_diff($a2,$a1);
學(xué)習(xí)是最好的投資!
差集是有先后順序的,就像4 - 3
并不等于3 - 4
一樣。這個例子并不太合理,所以你會覺得找不到差集,其實$a2
和$a1
的差集是空,所以看上去像沒有差集。你可以讓$b = array("e"=>"red","f"=>"green","g"=>"blue","h"=>"gray");
,這樣你馬上就能明白差集是什么了。
array array_diff ( array $array1 , array $array2 )
對比返回在 array1 中但是不在 array2 及任何其它參數(shù)數(shù)組中的值。
顛倒之后,當(dāng)然是沒有了