PHP array_diff 函式基本語法
array array_diff( $array1 , $array2 , $array3 , ... )
語法中至少要包含兩個 PHP Array,後面可以再增加更多的陣列,進行多陣列比較,值得注意的是後面每個陣列都與第一個陣列做比較,所以 array_diff 回傳的值是一個新的陣列,新的陣列值包函所有在 $array1 中有出現,但沒有在其他陣列中出現的值,且鍵名會保留。
PHP array_diff 函式範例參考
<?php
$Array1=array('A','B','C','D');
$Array2=array('C','D','E','F');
$Array3=array('A','B','E','F');
$NewArray1=array_diff($Array1,$Array2);
print_r($NewArray1);
$NewArray2=array_diff($Array1,$Array3);
print_r($NewArray2);
?>
以上輸出結果如$Array1=array('A','B','C','D');
$Array2=array('C','D','E','F');
$Array3=array('A','B','E','F');
$NewArray1=array_diff($Array1,$Array2);
print_r($NewArray1);
$NewArray2=array_diff($Array1,$Array3);
print_r($NewArray2);
?>
範例一開始準備了三個不同的陣列,分別為 $Array1、$Array2 以及 $Array3,接著用 array_diff 函式去分別比較 $Array2、$Array3 這兩個陣列與第一個 $Array1 有什麼差異,print_r 的功能是輸出陣列,不難看出回傳的第一個陣列中有 A 與 B 這兩個差異的鍵值,回傳的第二個陣列中有 C 與 D 這兩個鍵值,而且 C 與 D 的鍵名依然維持 $Array1 中的鍵名,這就是 PHP array_diff 函式的特性。
推薦給您的相關主題