PHP | array_diff_ukey()函数
array_diff_ukey()函数是PHP的一个内置函数。它用于使用用户定义的函数比较两个或多个数组的键,并返回一个数组,即 array1 并且不存在任何其他数组 2、array3 或更多......
句法:
array_diff_ukey($array1, $array2, $array3..., arr_diffukeyFunction)
使用的参数:
该函数接受最少三个参数,三个参数都是必需的,另一个是可选的。参数说明如下:
- $array1(强制):
该数组将与其他数组进行比较。(例如数组与数组 1 进行比较)。 - $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语言的简单解决方案:
$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)。
$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
$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”警告信息。
$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