當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


PHP array_diff_ukey()用法及代碼示例


array_diff_ukey()函數是PHP中的內置函數。它用於使用用戶定義的函數比較鍵的兩個或多個數組,並返回一個數組,該數組為array1,並且不存在任何其他array2,array3或更多…

用法:

array_diff_ukey($array1, $array2, $array3..., arr_diffukeyFunction)

使用參數
此函數接受最少三個參數,所有三個參數都是必需的,另一個是可選的。參數說明如下:


  1. $array1(強製性):
    該數組將與其他數組進行比較(例如,從array1比較該數組)。
  2. $array2(強製性):

    數組與第一個數組相比。

  3. $array3(可選):

    數組與第一個數組相比。

  4. arr_diffukeyFunction(強製性):

    這是必需的用戶定義函數。定義可調用比較函數的字符串。
    如果第一個參數大於第二個參數,則比較函數返回一個大於0的整數。

返回值
返回一個數組,該數組包含array1中其他數組中不存在的條目,例如:-( arra2,arra3,arar4….more)。如果所有值都存在於其他數組中,則該函數返回NULL。返回值類型是一個數組。
範例1:

Input: 
$arr1 = array("one"=>"C Program", "two"=>"PHP Program", "three"=>"Java Program ");
$arr2 = array("one"=>"Java Program", "two"=>"C++ Program", "six"=>"Java Program");

Output: 
Array
(
    [three] => Java Program 
)

Explanation: First two values of arr1 are matched with arr2 and last value 
             not matched so the function returns last value.

範例2:

Input: 
$arr1=array("one"=>"C Program", "two"=>"PHP Program", "three"=>"Java Program ");
$arr2=array("one"=>"Java Program", "two"=>"C++ Program", "three"=>"Java Program");

Output: 
Array
(
)

Explanation: All values are matched with arr2 so function return null values.

讓我們以一個例子來了解array_diff_ukey()函數。

  • 程序1:接受兩個數組(array1和array2)並使用用戶定義的鍵比較函數(diffukeyFunction)。

    PHP語言的簡單解決方案:

    <?php 
      
    // Program of array_diff_ukey function in PHP 
      
    function arr_diffukeyFunction($one, $two) 
    { 
        if ($one === $two) { 
            return 0; 
        } 
        return ($one > $two) ? 1 : -1; 
    } 
      
    // Driver Code  
      
    $arr1 = array( 
        "one" => "C Program", 
        "two" => "PHP Program", 
        "three" => "Java Program "
    ); 
    $arr2 = array( 
        "one" => "Java Program", 
        "two" => "C++ Program", 
        "six" => "Java Program"
    ); 
      
    $result = array_diff_ukey($arr1, $arr2, "arr_diffukeyFunction"); 
    print_r($result); 
    ?>
    輸出:
    Array
    (
        [three] => Java Program 
    )
    
  • 程序2:取三個數組(array1,array2和arra3)並使用用戶定義的鍵比較函數(diffukeyFunction)。

    <?php 
      
    // Program of array_diff_ukey function in PHP 
      
    function arr_diffukeyFunction($one, $two) 
    { 
        if ($one === $two) { 
            return 0; 
        } 
        return ($one > $two) ? 1 : -1; 
    } 
      
    // Driver Code  
      
    $arr1 = array( 
        "one" => "C Program", 
        "two" => "PHP Program", 
        "three" => "Java Program "
    ); 
    $arr2 = array( 
        "one" => "XML Program", 
        "two" => "C++ Program", 
        "four" => "CSS Program"
    ); 
    $arr3 = array( 
        "five" => "MVC Program", 
        "six" => "C# Program", 
        "one" => "ASP .NET Program"
    ); 
      
    $result = array_diff_ukey($arr1, $arr2, $arr3, "arr_diffukeyFunction"); 
    print_r($result); 
    ?>
    輸出:
    Array
    (
        [three] => Java Program 
    )
    
  • 程序3:如果所有值在其他數組中都匹配,則返回Null
    <?php 
      
    // Program of array_diff_ukey function in PHP 
    function arr_diffukeyFunction($one, $two) 
    { 
        if ($one === $two) { 
            return 0; 
        } 
        return ($one > $two) ? 1 : -1; 
    } 
      
    // Driver Code  
    $arr1 = array( 
        "one" => "C Program", 
        "two" => "PHP Program"
    ); 
    $arr2 = array( 
        "one" => "Java Program", 
        "two" => "C++ Program"
    ); 
      
    $result = array_diff_ukey($arr1, $arr2, "arr_diffukeyFunction"); 
    print_r($result); 
    ?>

    輸出:

    Array
    (
    )
    
  • 程序4:如果僅采用一個數組(array1),並使用用戶定義的鍵比較函數(diffukeyFunction),則沒有輸出,並且給出“RUNTIME ERROR”警告消息。
    <?php 
      
    //Program of array_diff_ukey function in PHP 
      
    function arr_diffukeyFunction($one, $two) 
    { 
        if ($one === $two) { 
            return 0; 
        } 
        return ($one > $two) ? 1 : -1; 
    } 
      
    // Driver Code  
      
    $arr1 = array( 
        "one" => "C Program", 
        "two" => "PHP Program", 
        "three" => "Java Program "
    ); 
      
    //take only one array 
      
    $result = array_diff_ukey($arr1, "arr_diffukeyFunction"); 
    print_r($result); 
    ?>

    輸出:

    No Output

    警告:

    PHP Warning:  array_diff_ukey(): at least 3 parameters are required,
    2 given in /home/c0177af9f69e897ad93cc9855a9ae415.php on line 23
    


相關用法


注:本文由純淨天空篩選整理自jit_t大神的英文原創作品 PHP | array_diff_ukey() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。