PHP如何使用array_diff_ukey()函數?代碼示例

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

語法以下:html

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:app

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()函數。ui

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

PHP語言的簡單解決方案:htm

<?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 );
?>

輸出以下:three

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

更多後端開發相關內容請參考:lsbin - IT開發技術https://www.lsbin.com/

查看如下更多PHP相關的內容:

相關文章
相關標籤/搜索