搜公众号
推荐 原创 视频 Java开发 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库
Lambda在线 > php中文网最新课程 > 如何比较两个PHP多维数组

如何比较两个PHP多维数组

php中文网最新课程 2019-01-24
举报

如何比较两个PHP多维数组

源 / php中文网      源 / www.php.cn


判断两个多维数组是否相等,或有哪些元素区别。我们可以通过PHP中array_udiff()函数和create_function()方法、strcmp ()等函数来实现比较。

如何比较两个PHP多维数组

(视频版请点击本文末尾左下角:阅读原文)

下面我们就结合具体的代码示例,给大家介绍比较两个二维数组的方法。


代码示例如下:

<?php

 

//多维数组比较

$color1 = array(array('Red',80),array('Green',70),array('white',60));

$color2 = array(array('Green',70),array('Black',95));

 

$color = array_udiff($color1,$color2,create_function(

'$a,$b','return strcmp(implode("",$a),implode("",$b));')

);

 

echo "<pre>";

 

print_r($color);


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


输出比较结果如下:

如何比较两个PHP多维数组

函数介绍:


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

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:创建一个匿名函数

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

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


通常这些参数将作为单引号分隔的字符串传递。使用单引号字符串的原因是为了保护变量名称不被解析,否则,如果使用双引号,则需要转义变量名称,例如\ $ avar。


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


返回值是以字符串或FALSE错误形式返回唯一函数名称。


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

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

注意该比较区分大小写。


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


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


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


本篇文章就是关于比较两个PHP多维数组的方法介绍,也很简单易懂,希望对需要的朋友有所帮助!


-END-

声明:本文选自「 php中文网 」,搜索「 phpcnnew 」即可关注!


php

版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《如何比较两个PHP多维数组》的版权归原作者「php中文网最新课程」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

举报