查詢

array_uintersect_assoc()函式—用法及示例

「 獲取兩個或多個陣列的交集,並對比陣列的鍵和值,使用使用者自定義的比較函式進行比較 」


函式名稱:array_uintersect_assoc()

函式描述:該函式用於獲取兩個或多個陣列的交集,並對比陣列的鍵和值,使用使用者自定義的比較函式進行比較。

用法:

array_uintersect_assoc ( array $array1 , array $array2 [, array $... ], callable $value_compare_func ) : array

引數:

  • $array1:必需,用於比較的第一個陣列。
  • $array2:必需,用於比較的第二個陣列。
  • $...:可選,用於比較的其他陣列(可以有更多陣列,用逗號分隔)。
  • $value_compare_func:必需,一個使用者自定義的比較函式,用於比較陣列的鍵和值,函式返回一個整數來表示比較結果。

返回值:

  • 返回一個包含兩個或多個陣列的交集的新陣列。

示例:

// 建立兩個陣列
$array1 = array("a" => "red", "b" => "green", "c" => "blue");
$array2 = array("d" => "red", "b" => "green", "e" => "blue");

// 自定義比較函式,以鍵和值都相等為條件
function compare_func($a, $b) {
  if ($a === $b) {
    return 0;
  } else {
    return ($a > $b) ? 1 : -1;
  }
}

// 使用array_uintersect_assoc函式獲取交集
$result = array_uintersect_assoc($array1, $array2, 'compare_func');

// 列印結果
echo "<pre>";
print_r($result);
echo "</pre>";

輸出:

Array
(
    [b] => green
)

在上面的示例中,我們建立了兩個陣列$array1$array2,其中有一些相同的鍵值對。然後,我們定義了一個自定義的比較函式compare_func,以比較陣列的鍵和值。最後,我們使用array_uintersect_assoc函式獲取這兩個陣列的交集,並提供自定義的比較函式作為引數。最終,輸出結果為一個包含鍵值對[b] => green的新陣列,這是兩個陣列中鍵和值都相等的唯一交集元素。

補充糾錯
上一個函式: array_uintersect()函式
下一個函式: array_uintersect_uassoc()函式
熱門PHP函式
分享連結