关于php:PHP如何使用arraydiffukey函数代码示例

4次阅读

共计 3192 个字符,预计需要花费 8 分钟才能阅读完成。

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

更多后端开发相干内容请参考:lsbin – IT 开发技术:https://www.lsbin.com/

查看以下更多 PHP 相干的内容:

  • PHP DsDeque Capacity()函数用法:https://www.lsbin.com/3677.html
  • PHP 错误处理办法:https://www.lsbin.com/3671.html
  • PHP DsSequence apply()函数用法:https://www.lsbin.com/3539.html
正文完
 0