在 PHP 中,要取得兩個陣列中不相同的元素,我們可以使用 array_diff() 函數。這個函數會傳回一個由陣列1中存在,而陣列2中不存在的元素所組成的新陣列。
下面是一個例子,假設我們要比較的兩個陣列分別為$arr1 和$arr2:
$arr1 = array("apple", "banana", "orange"); $arr2 = array("banana", "orange", "pear", "kiwi"); $result = array_diff($arr1, $arr2); print_r($result); // 输出:Array ( [0] => apple )
在這個例子中,$arr1 中的"apple" 元素不在$arr2中出現,所以它被回到了$result 陣列中。
但要注意,array_diff() 只會比較一維數組。如果你想比較多維數組,你需要自己寫一個遞歸函數。下面是一個比較多維數組的範例:
function array_diff_multi($arr1, $arr2) { $diff = array(); foreach ($arr1 as $key => $value) { if (is_array($value) && isset($arr2[$key]) && is_array($arr2[$key])) { $diff[$key] = array_diff_multi($value, $arr2[$key]); } else { if (!in_array($value, $arr2)) { $diff[$key] = $value; } } } return $diff; } $arr1 = array("fruit" => array("apple", "banana", "orange"), "color" => "blue"); $arr2 = array("fruit" => array("banana", "orange", "pear", "kiwi"), "color" => "red"); $result = array_diff_multi($arr1, $arr2); print_r($result); // 输出:Array ( [fruit] => Array ( [0] => apple ) [color] => blue )
在這個範例中,我們建立了一個自訂函數 array_diff_multi(),這個函數可以比較兩個多維數組。我們使用遞歸方式來比較每個子數組的元素。
總之,在 PHP 中取得兩個陣列的不同元素有很多種方法。 array_diff() 函數是其中最簡單且最常用的方法之一,但僅適用於一維數組。如果要比較多維數組,則需要使用自訂遞歸函數。
以上是php怎麼取得兩個數組中不相同的值的詳細內容。更多資訊請關注PHP中文網其他相關文章!