本文主要和大家分享比較php擷取兩個數組相同和不同元素的方法,希望能協助到大家。
1、擷取數組相同元素
array_intersect()該函數比較兩個(或更多個)數組的索引值,並返回交集數組,該數組包括了所有在被比較的數組(array1)中,
同時也在任何其他參數數組(array2 或 array3 等等)中的索引值。
<?php$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");$a2=array("e"=>"red","f"=>"green","g"=>"blue");$result=array_intersect($a1,$a2);print_r($result);//Array ( [a] => red [b] => green [c] => blue )
array_intersect_assoc() 函數用於比較兩個(或更多個)數組的鍵名和索引值,並返回交集,與 array_intersect() 函數 不同的是,本函數除了比較索引值,
還比較鍵名。返回的數組中元素的鍵名保持不變。
<?php$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");$a2=array("a"=>"red","b"=>"green","c"=>"blue");$result=array_intersect_assoc($a1,$a2);print_r($result);?>//Array ( [a] => red [b] => green [c] => blue )
2、擷取數組中不同元素
array_diff() 函數返回兩個數組的差集數組。該數組包括了所有在被比較的數組中,但是不在任何其他參數數組中的索引值。
在返回的數組中,鍵名保持不變。
<?php$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 )
array_diff_assoc() 函數用於比較兩個(或更多個)數組的鍵名和索引值 ,並返回差集。
<?php$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");$a2=array("a"=>"red","b"=>"green","c"=>"blue");$result=array_diff_assoc($a1,$a2);print_r($result);//Array ( [d] => yellow )