PHP array_diff_ukey() 函式



定義和用法

array_diff_ukey() 函式僅比較兩個(或多個)陣列的,使用使用者定義的函式,並返回一個包含 array1 中不在 array2 或 array3 等中的條目的陣列。

此函式與array_diff() 函式不同,因為 array_diff() 比較的是值,而此函式比較的是鍵。

此函式與array_diff_assoc() 函式不同,因為 array_diff_assoc() 使用內部演算法比較索引,而此函式使用使用者定義的函式。

語法

array_diff_ukey ( $array1, $array2 [, $array3...,callback $key_compare_func] );

引數

序號 引數及描述
1

array1(必需)

第一個陣列,其他陣列將與之比較。

2

array2(必需)

要與第一個陣列比較的陣列。

3

array3(可選)

要與第一個陣列比較的陣列。

4

key_compare_func(必需)

用於比較鍵的回撥函式。此回撥函式必須返回一個整數 <, =, > 0,如果第一個引數分別被認為小於、等於、大於第二個引數。

返回值

此函式返回一個數組,其中包含 array1 中不在任何其他陣列中的所有條目。

PHP 版本

此函式首次在 PHP 5.1.0 版本中引入。

示例

試用以下示例:

<?php
   function key_compare_func($a, $b) {
      if ($a === $b) {
         return 0;
      }
      return ($a > $b)? 1: -1;
   }
   $input1 = array(0=>"banana", 1=>"orange", 2=>"grapes");
   $input2 = array(3=>"apple",1=>"apricot", 5=>"mango");

   print_r(array_diff_ukey($input1,$input2,"key_compare_func"));
?>

這將產生以下結果:

Array
(
    [0] => banana
    [2] => grapes
)

示例

試用以下示例:

<?php
   function key_compare_func($a, $b) {
      if ($a === $b) {
         return 0;
      }
      return ($a > $b)? 1: -1;
   }
   $input1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
   $input2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

   print_r(array_diff_ukey($input1,$input2,"key_compare_func"));
?>

這將產生以下結果:

Array
(
    [red] => 2
    [purple] => 4
)
php_function_reference.htm
廣告