PHP array_diff 判斷陣列的差異

PHP array_diff 函式可以用來判斷 PHP 陣列間彼此的差異,並回傳一個內含差異陣列鍵值的新陣列,所以 PHP array_diff 函式中至少需要放入兩個不同的 PHP Array 才有意義。array_diff 函式是 PHP 內建函式,不需額外安裝就可以使用,PHP 4.0.1 版本、PHP 5 均可使用。

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、$Array2 以及 $Array3,接著用 array_diff 函式去分別比較 $Array2、$Array3 這兩個陣列與第一個 $Array1 有什麼差異,print_r 的功能是輸出陣列,不難看出回傳的第一個陣列中有 A 與 B 這兩個差異的鍵值,回傳的第二個陣列中有 C 與 D 這兩個鍵值,而且 C 與 D 的鍵名依然維持 $Array1 中的鍵名,這就是 PHP array_diff 函式的特性。

推薦給您的相關主題
© Copyright wibibi.com 網頁設計教學百科 基礎的網頁設計規劃、資料庫與程式設計 Since 2012