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

PHP删除数组中指定值的元素常用方法实例分析

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

本文实例讲述了PHP删除数组中指定值的元素。分享给大家供大家参考,具体如下:

测试数组如下:

  1. //这是一个测试数组 
  2. $testArr = array
  3.   't' => 'qq'
  4.   'q' => 'qq'
  5.   'b' => 'baidu'
  6.   'a' => 'ali'
  7.   'm' => 'xiaomi' 
  8. ); 

方法一:

foreach遍历后unset删除,这种方法也是最容易想到的方法.

  1. function delByValue($arr$value){ 
  2.   if(!is_array($arr)){ 
  3.     return $arr
  4.   } 
  5.   foreach($arr as $k=>$v){ 
  6.     if($v == $value){ 
  7.       unset($arr[$k]); 
  8.     } 
  9.   } 
  10.   return $arr

测试:

  1. $testArr = delByValue($testArr,'baidu'); 
  2. print_r($testArr

运行结果:

  1. Array 
  2.     [t] => qq 
  3.     [q] => qq 
  4.     [a] => ali 
  5.     [m] => xiaomi 

方法二:

array_flip之后unset,这种方法有一个弊端,就是反转后由于有两个键值都为qq,有一个数据将会丢失,所以在使用时请谨慎).

  1. function delByValue($arr$value){ 
  2.   $tempArr = array_flip($arr); 
  3.   unset($tempArr[$value]); 
  4.   return array_flip($tempArr); 

测试:

  1. $testArr = delByValue($testArr,'baidu'); 
  2. print_r($testArr

运行结果:

  1. Array 
  2.     [q] => qq 
  3.     [a] => ali 
  4.     [m] => xiaomi 

方法三:

array_search,这种方法亦有弊端,array_search搜索到一个合适的值时便返回,所以在数组存在多个相关的值这种方法不适用).

  1. function delByValue($arr$value){ 
  2.   $key = array_search($value,$arr); 
  3.   if(isset($key)){ 
  4.     unset($arr[$key]); 
  5.   } 
  6.   return $arr

测试:

$testArr = delByValue($testArr,'baidu');

print_r($testArr)

运行结果:

  1. Array 
  2.     [t] => qq 
  3.     [q] => qq 
  4.     [a] => ali 
  5.     [m] => xiaomi 

方法四:

使用array_keys搜索指定的值再循环unset)

  1. function delByValue($arr$value){ 
  2.   $keys = array_keys($arr$value); 
  3.   var_dump($keys); 
  4.   if(!emptyempty($keys)){ 
  5.     foreach ($keys as $key) { 
  6.       unset($arr[$key]); 
  7.     } 
  8.   } 
  9.   return $arr

测试:

  1. $testArr = delByValue($testArr,'baidu'); 
  2. print_r($testArr

运行结果:

  1. array(1) { 
  2.   [0]=> 
  3.   string(1) "b" 
  4. Array 
  5.     [t] => qq 
  6.     [q] => qq 
  7.     [a] => ali 
  8.     [m] => xiaomi 

四种方法总结下来,真正比较可行的还是方法1和方法4了,至于这两种方法哪个更好,那就应该是具体情况具体分析了。

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

扫码支付后请联系右侧QQ发送下载地址!!

源码请勿用于任何涉灰站点!净化网络,站长更有责!

支付宝扫一扫打赏