array_diff_ukey()函数是PHP中的内置函数。它用于应用用户定义的函数比拟键的两个或多个数组, 并返回一个数组, 该数组为array1, 并且不存在其余任何array2, array3或更多…
语法如下:
array_diff_ukey($array1, $array2, $array3..., arr_diffukeyFunction)
应用参数:此函数承受起码三个参数, 而所有三个参数都是必须的, 另一个是可选的。参数阐明如下:
- $ array1(强制性):
该数组将与其余数组进行比拟(例如, 从array1比拟该数组)。 - $ array2(强制性): 数组与第一个数组相比。
- $ array3(可选): 数组与第一个数组相比。
- 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 PHPfunction 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