array_diff_ukey()函数是PHP中的内置函数。它用于使用用户定义的函数比较两个或多个数组的键,并返回一个数组,该数组为array1,不存在任何其他array2、array3或更多…
null
语法:
array_diff_ukey($array1, $array2, $array3..., arr_diffukeyFunction)
使用的参数 : 此函数至少接受三个参数,所有三个参数都是必需的,另一个是可选的。参数描述如下:
- $array1(强制性): 该阵列将与其他阵列进行比较。(使数组与数组1进行比较)。
- $array2(必填):
将数组与第一个数组进行比较。
- $array3(可选):
将数组与第一个数组进行比较。
- arr_diffukeyFunction(强制):
这是用户定义的函数所必需的。定义可调用比较函数的字符串。 如果第一个参数大于第二个参数,则比较函数返回一个大于0的整数。
返回值 : 返回一个数组,其中包含array1中的条目,这些条目在其他数组中不存在,例如:-(arra2、arra3、arar4…更多)。如果所有值都存在于其他数组中,则函数返回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),则没有输出,并且它会给出“运行时错误”警告消息。
<?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
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END