PHP | array_udiff_uassoc()函数

array_udiff_uassoc()函数是PHP中的内置函数,用于区分两个或多个数组。该函数使用两个带有附加索引键的用户定义函数来计算差异数组。它使用回调函数比较数据和索引,并返回差异。

null

语法:

array_udiff_uassoc($arr1, $arr2, $arr3........nth array, value_Function, key_Function )

使用的参数: 该数组的函数参数如下所述:

  1. $arr1,$arr2,$arr3,$arr4$阿伦: 这代表了我们想要区分的数组列表。
  2. 价值函数: 此参数表示用户定义的函数。此用户定义函数将用于比较值。
  3. 按键功能: 它也是一个用户定义的函数。此用户定义函数用于比较数组键。

注: 如果第一个参数小于第二个参数,两个比较函数(value_函数、key_函数)都返回小于、等于或>0的整数。

返回值 :此函数返回一个包含数组所有值的数组 1美元 在任何其他阵列中都不存在。

一些相关功能:

下面的程序演示了array_udiff_uassoc()函数。

项目1:

PHP

<?php
// PHP program to illustrate
// array_udiff_uassoc() function
// comparison function for array values
function value_Function( $a , $b )
{
if ( $a === $b ) {
return 0;
}
return ( $a > $b ) ? 1 : -1;
}
// comparison function for array keys
function key_Function( $a , $b )
{
if ( $a === $b ) {
return 0;
}
return ( $a > $b ) ? 1 : -1;
}
// array1  list for comparison.
$arr1 = array (
"m" => "C lab" ,
"n" => "Java lab" ,
"o" => "C# lab" ,
"x" => "C++ lab" ,
"y" => "Ruby lab" ,
);
//array2  list for comparison.
$arr2 = array (
"m" => "C lab" ,
"b" => "Java lab" ,
"c" => "C# lab" ,
"x" => "C++ lab" ,
"n" => "Ruby lab" ,
);
$result = array_udiff_uassoc ( $arr1 ,
$arr2 , "value_Function" , "key_Function" );
// print result.
print_r( $result );
?>


输出:

Array(    [n] => Java lab    [o] => C# lab    [y] => Ruby lab)

课程:2

PHP

<?php
// PHP program to illustrate
// array_udiff_uassoc() function
// comparison function for array values
function value_Function( $a , $b )
{
if ( $a === $b ) {
return 0;
}
return ( $a > $b ) ? 1 : -1;
}
// comparison function for array keys
function key_Function( $a , $b )
{
if ( $a === $b ) {
return 0;
}
return ( $a > $b ) ? 1 : -1;
}
// array1  list for comparison.
$arr1 = array (
"a" => "C lab" ,
"b" => "Java lab" ,
"c" => "C# lab" ,
"d" => "C++ lab" ,
"e" => "Ruby lab" ,
);
// array2  list for comparison.
$arr2 = array (
"a" => "C lab" ,
"b" => "Java lab" ,
"c" => "C# lab" ,
"d" => "C++ lab" ,
"e" => "XML lab" ,
);
$arr3 = array (
"a" => "C lab" ,
"b" => "Java lab" ,
"c" => "C# lab" ,
"d" => "C++ lab" ,
"e" => "CSS lab"
);
$arr4 = array (
"a" => "C lab" ,
"b" => "Java lab" ,
"c" => "C# lab" ,
"d" => "C++ lab" ,
"e" => "PHP lab"
);
$result = array_udiff_uassoc ( $arr1 , $arr2 ,
$arr3 , $arr4 , "value_Function" , "key_Function" );
// print result.
print_r( $result );
?>


输出:

Array(    [e] => Ruby lab)

节目:3

PHP

<?php
// PHP program to illustrate
// array_udiff_uassoc() function
// comparison function for array values
function value_Function( $a , $b )
{
if ( $a === $b ) {
return 0;
}
return ( $a > $b ) ? 1 : -1;
}
// comparison function for array keys
function key_Function( $a , $b )
{
if ( $a === $b ) {
return 0;
}
return ( $a > $b ) ? 1 : -1;
}
// array1  list for comparison.
$arr1 = array (
"x" => "Geeks" ,
"y" => "for" ,
"z" => "Geeks" ,
);
// array2  list for comparison.
$arr2 = array (
"x" => "Geeks" ,
"y" => "for" ,
"z" => "Geeks" ,
);
$result = array_udiff_uassoc ( $arr1 ,
$arr2 , "value_Function" , "key_Function" );
// print result.
print_r( $result );
?>


输出:

Array()

节目:4 取三个数组(array1和array2,array3)并使用比较函数array_udiff_uassoc()函数。如果三个数组的索引相同,但值不同,则返回第一个数组。

PHP

<?php
// PHP program to illustrate
// array_udiff_uassoc() function
// comparison function for array values
function value_Function( $a , $b )
{
if ( $a === $b ) {
return 0;
}
return ( $a > $b ) ? 1 : -1;
}
// comparison function for array keys
function key_Function( $a , $b )
{
if ( $a === $b ) {
return 0;
}
return ( $a > $b ) ? 1 : -1;
}
// array1  list for comparison.
$arr1 = array (
"a" => "C lab" ,
"b" => "Java lab" ,
"d" => "C# lab" ,
);
// array2  list for comparison.
$arr2 = array (
"a" => "C " ,
"b" => "Java " ,
"d" => "C#" ,
);
// array3  list for comparison.
$arr3 = array (
"a" => "Program" ,
"b" => "Code" ,
"d" => "Run" ,
);
$result = array_udiff_uassoc ( $arr1 ,
$arr2 , $arr3 , "value_Function" , "key_Function" );
// print result.
print_r( $result );
?>


输出:

Array(    [a] => C lab    [b] => Java lab    [d] => C# lab)

参考 : http://php.net/manual/en/function.array-udiff-uassoc.php

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享