www.adminn.cn
站长正能量分享网!

php学习之两种方法使用比较数组差异的array_diff()函数

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

本篇文章将简单介绍php比较两个数组的差异array_diff()函数,感兴趣的朋友可以了解一下。

php内置函数中有一个array_diff():意思比较两个数组的键值,并返回差集。

下面是通过数组遍历来实现差集:

首先有两个不同的数组$arr_1,$arr_2:

第一种方法:

  1. function fun($arr_1,$arr_2
  2.  
  3. {       foreach ($arr_1 as $key => $val
  4.  
  5.       {              $bool = false;              foreach ($arr_2 as $k => $v
  6.  
  7.              {                   if($bool = ($val == $v)) 
  8.  
  9.                   {                           break
  10.  
  11.                    } 
  12.  
  13.              }             if(!$bool
  14.  
  15.             {                 $diff[$key] = $val
  16.  
  17.              } 
  18.  
  19.        } 
  20.  

这种虽然能够实现数组间的差异,如果数组长度达到一定的长度后,效率不容乐观。

二种方法:

  1. foreach ($arr_1 as $key => $val
  2.  
  3. {    if(in_array($val,$arr_2)) 
  4.  
  5.     {        unset($arr_1[$key]); 
  6.  
  7.     } 
  8.  

这种方式在其他博客上说可以和array_diff()媲美。

三种方式:

通过"array_flip();"将arr_2数组键值反转后,判断arr_1数组中的值是否在arr_2的键中

  1. $arr_2 = array_flip($arr_2);foreach ($arr_1 as $key => $val
  2.  
  3. {    if(isset($arr_2[$val])) 
  4.  
  5.     {        unset($arr_1[$key]); 
  6.  
  7.     } 
  8.  

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《php学习之两种方法使用比较数组差异的array_diff()函数》
文章链接:https://www.adminn.cn/news/8401.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

Adminn.Cn 站长分享圈

帝国CMS精品模板腾讯云优惠券,代金券

2次开发,学习研究使用!扫码支付后联系QQ677123发货!

支付宝扫一扫打赏