array_udiff_uassoc()函数是PHP中的内置函数,用于区分两个或多个数组。该函数使用两个带有附加索引键的用户定义函数来计算差异数组。它使用回调函数比较数据和索引,并返回差异。
null
语法:
array_udiff_uassoc($arr1, $arr2, $arr3........nth array, value_Function, key_Function )
使用的参数: 该数组的函数参数如下所述:
- $arr1,$arr2,$arr3,$arr4$阿伦: 这代表了我们想要区分的数组列表。
- 价值函数: 此参数表示用户定义的函数。此用户定义函数将用于比较值。
- 按键功能: 它也是一个用户定义的函数。此用户定义函数用于比较数组键。
注: 如果第一个参数小于第二个参数,两个比较函数(value_函数、key_函数)都返回小于、等于或>0的整数。
返回值 :此函数返回一个包含数组所有值的数组 1美元 在任何其他阵列中都不存在。
一些相关功能:
- PHP | arr_diff()函数: 计算数组的差分。
- PHP | arr_udiff()函数: 通过使用用户定义的回调函数计算数组的差异,并比较数据。
- PHP | array_diff_assoc()函数: 使用附加索引键计算数组的差异。
- PHP | array_diff_uassoc()函数: 此函数用于比较一个或多个数组之间的键和值,并返回第一个数组中其他数组中不存在的元素。
- PHP | array_diff_key()函数: 将第一个参数数组的键与其余数组进行比较,并返回一个数组,该数组包含$array1中任何其他数组中都不存在的所有条目。
下面的程序演示了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