如何比较两个PHP多维数组

下面我们就结合详细的代码示例,给大家先容比较两个二维数组的方法。

代码示例如下:

php两个数组比较若何比拟两个PHP多维数组 Angular

1 <?php2 3 //多维数组比较4 $color1 = array(array('Red',80),array('Green',70),array('white',60));5 $color2 = array(array('Green',70),array('Black',95));6 7 $color = array_udiff($color1,$color2,create_function(8 '$a,$b','return strcmp(implode(\"大众\公众,$a),implode(\"大众\公众,$b));')9 );10 11 echo \公众<pre>\"大众;12 13 print_r($color);

此段代码中,我们就可以得出$color1数组相对付$color2数组有哪些不同的数组元素。

输出比较结果如下:

如何比较两个PHP多维数组

函数先容:

1、array_udiff : 用回调函数比较数据来打算数组的差集

1 array_udiff ( array $array1 , array $array2 [, array $... ], callable $value_compare_func ) : array

利用回调函数比较数据,打算数组的不同之处。
和 array_diff() 不同的是,前者利用内置函数进行数据比较。

参数array1表示第一个数组。
array2第二个数组。
value_compare_func回调对照函数。

在第一个参数小于,即是或大于第二个参数时,该比较函数必须相应地返回一个小于,即是或大于 0 的整数。

callback ( mixed $a, mixed $b ) : int

返回值,返回 array1 里没有涌如今其他参数里的所有值。

2、create_function:创建一个匿名函数

1 create_function ( string $args , string $code ): string

根据通报的参数创建匿名函数,并为其返回唯一名称。

常日这些参数将作为单引号分隔的字符串通报。
利用单引号字符串的缘故原由是为了保护变量名称不被解析,否则,如果利用双引号,则须要转义变量名称,例如\ $ avar。

args表示函数参数。
code表示功能代码。

返回值因此字符串或FALSE缺点形式返回唯一函数名称。

3、strcmp :二进制安全字符串比较

1 strcmp ( string $str1 , string $str2 ) : int

把稳该比较区分大小写。

参数str1表示第一个字符串。
str2表示第二个字符串。

返回值是如果 str1 小于 str2 返回 < 0; 如果 str1 大于 str2 返回 > 0;如果两者相等,返回 0。

4、implode:将一个一维数组的值转化为字符串

本篇文章便是关于比较两个PHP多维数组的方法先容,也很大略易懂,希望对须要的朋友有所帮助!

以上便是如何比较两个PHP多维数组的详细内容,更多请关注天华信息教诲其它干系文章!