(PHP 5, PHP 7, PHP 8)
array_uintersect_assoc — 使用額外的索引檢查計算陣列的交集,並透過回呼函式比較資料
陣列
第一個陣列。
陣列們
用於比較的陣列。
value_compare_func
比較函式必須回傳一個整數。若第一個參數分別小於、等於或大於第二個參數,則回傳值應小於零、等於零或大於零。
排序回呼函式必須能夠處理來自任何陣列的任何值,且不論它們原本提供的順序為何。這是因為每個個別的陣列在與其他陣列比較之前,會先自行排序。例如:
<?php
$arrayA = ["string", 1];
$arrayB = [["value" => 1]];
// $item1 和 $item2 可以是 "string"、1 或 ["value" => 1] 中的任何一個
$compareFunc = static function ($item1, $item2) {
$value1 = is_string($item1) ? strlen($item1) : (is_array($item1) ? $item1["value"] : $item1);
$value2 = is_string($item2) ? strlen($item2) : (is_array($item2) ? $item2["value"] : $item2);
return $value1 <=> $value2;
};
?>
回傳一個陣列,其中包含所有在 array
以及所有其他參數中都出現的值。
範例 #1 array_uintersect_assoc() 範例
<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red");
print_r(array_uintersect_assoc($array1, $array2, "strcasecmp"));
?>
以上範例會輸出:
Array ( [a] => green )