查詢

array_intersect_ukey()函式—用法及示例

「 返回兩個或多個陣列的鍵的交集,使用使用者自定義的回撥函式進行鍵的比較 」


函式名:array_intersect_ukey()

描述:用於返回兩個或多個陣列的鍵的交集,使用使用者自定義的回撥函式進行鍵的比較。

用法:

array_intersect_ukey(array $array1, array $array2, ...$callback): array

引數:

  • array1:第一個陣列
  • array2:第二個陣列
  • ...:可選引數,可以傳入更多的陣列
  • callback:比較鍵的回撥函式,接受兩個鍵作為引數進行比較,返回值為正數、零、負數,表示兩個鍵的關係

返回值:

  • 返回一個陣列,包含了所有輸入陣列中鍵的交集

示例:

// 定義回撥函式,按照鍵的長度進行比較
function compareKeys($key1, $key2) {
    $length1 = strlen($key1);
    $length2 = strlen($key2);

    if ($length1 == $length2) {
        return 0;
    } elseif ($length1 > $length2) {
        return 1;
    } else {
        return -1;
    }
}

// 定義陣列
$array1 = array('apple' => 'red', 'banana' => 'yellow', 'cherry' => 'red');
$array2 = array('apple' => 'green', 'banana' => 'yellow', 'durian' => 'green', 'grape' => 'purple');

// 使用array_intersect_ukey()函式進行鍵的比較
$result = array_intersect_ukey($array1, $array2, 'compareKeys');

// 輸出結果
echo "<pre>";
print_r($result);
echo "</pre>";

輸出結果:

Array
(
    [banana] => yellow
    [cherry] => red
)

解釋:在這個示例中,我們有兩個陣列,$array1$array2。我們定義了一個回撥函式compareKeys(),該函式按照鍵的長度進行比較。然後,我們使用array_intersect_ukey()函式傳入這兩個陣列和回撥函式進行鍵的比較。最後,我們列印輸出了結果陣列,其中包含了兩個陣列中鍵的交集,即鍵為'banana''cherry'的元素。

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