array_diff_uassoc
用用戶提供的回調函數做索引檢查來計算數組的差集
PHP 5.3.0及以上版本
該函數用於計算數組的差集,返回存在於第一個數組中的元素,而不在其它數組中的元素。它與array_diff()類似,但它會通過用戶自定義的回調函數對數組的鍵名進行比較。
<span class="fun">array_diff_uassoc(array $array1, array $array2, array ...$arrays, callable $key_compare_func): array</span>
返回一個數組,其中包含在第一個數組中出現的元素,但不出現在其他數組中的元素。數組的鍵保持原樣。
$array1 = ["a" => 1, "b" => 2, "c" => 3]; $array2 = ["a" => 1, "b" => 2];
$result = array_diff_uassoc($array1, $array2, function($key1, $key2) {<br>
return strcmp($key1, $key2);<br>
});</p>
<p>print_r($result);<br>
在這個示例中,$array1 和$array2 都是關聯數組。我們通過一個回調函數來比較它們的鍵。回調函數使用strcmp來比較鍵名,並返回結果。如果第一個鍵小於第二個鍵, strcmp返回負值;如果相等,返回0;如果第一個鍵大於第二個鍵,返回正值。最終, array_diff_uassoc返回一個數組,其中包含只存在於第一個數組的元素,且這些元素的鍵不在第二個數組中。