• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP删除数组中指定值的元素常用方法实例分析【4种方法】

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

    测试数组如下:

    //这是一个测试数组
    $testArr = array(
      't' => 'qq',
      'q' => 'qq',
      'b' => 'baidu',
      'a' => 'ali',
      'm' => 'xiaomi'
    );
    
    

    方法一:

    //foreach遍历后unset删除,这种方法也是最容易想到的方法
    function delByValue($arr, $value){
      if(!is_array($arr)){
        return $arr;
      }
      foreach($arr as $k=>$v){
        if($v == $value){
          unset($arr[$k]);
        }
      }
      return $arr;
    }
    
    

    测试:

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

    运行结果:

    Array
    (
        [t] => qq
        [q] => qq
        [a] => ali
        [m] => xiaomi
    )

    方法二:

    //array_flip之后unset,这种方法有一个弊端,就是反转后由于有两个键值都为qq,有一个数据将会丢失,所以在使用时请谨慎)
    function delByValue($arr, $value){
      $tempArr = array_flip($arr);
      unset($tempArr[$value]);
      return array_flip($tempArr);
    }
    
    

    测试:

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

    运行结果:

    Array
    (
        [q] => qq
        [a] => ali
        [m] => xiaomi
    )

    方法三:

    //array_search,这种方法亦有弊端,array_search搜索到一个合适的值时便返回,所以在数组存在多个相关的值这种方法不适用)
    function delByValue($arr, $value){
      $key = array_search($value,$arr);
      if(isset($key)){
        unset($arr[$key]);
      }
      return $arr;
    }
    
    

    测试:

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

    运行结果:

    Array
    (
        [t] => qq
        [q] => qq
        [a] => ali
        [m] => xiaomi
    )

    方法四:

    //使用array_keys搜索指定的值再循环unset)
    function delByValue($arr, $value){
      $keys = array_keys($arr, $value);
      var_dump($keys);
      if(!empty($keys)){
        foreach ($keys as $key) {
          unset($arr[$key]);
        }
      }
      return $arr;
    }
    
    

    测试:

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

    运行结果:

    array(1) {
      [0]=>
      string(1) "b"
    }
    Array
    (
        [t] => qq
        [q] => qq
        [a] => ali
        [m] => xiaomi
    )

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

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《php排序算法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php字符串(string)用法总结》及《PHP常用遍历算法与技巧总结》

    希望本文所述对大家PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • PHP实现动态删除XML数据的方法示例
    • php删除二维数组中的重复值方法
    • php删除一个路径下的所有文件夹和文件的方法
    • PHP删除数组中指定下标的元素方法
    • php 删除一维数组中某一个值元素的操作方法
    • 实现php删除链表中重复的结点
    上一篇:php 将json格式数据转换成数组的方法
    下一篇:PHP 二维array转换json的实例讲解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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