zoukankan      html  css  js  c++  java
  • php 去除二维数组中的包含某一个值的数组

    今天写程序,遇到一个的问题。

    我想把一个二维数组中的包含某一个值的数组去掉,并重新生成索引下标

    例如:

    $all_zone=array(
            array("id"=>"R001","name"=>"东城区"),
            array("id"=>"R002","name"=>"西城区"),
            array("id"=>"R003","name"=>"朝阳区"),
            array("id"=>"R004","name"=>"海淀区"),
            array("id"=>"R005","name"=>"昌平区"),
            array("id"=>"R006","name"=>"丰台区"),
            array("id"=>"R007","name"=>"通州区"),
            array("id"=>"","name"=>""),
            array("id"=>"R008","name"=>"大兴区"),
            );

    这样一个数组,我想去掉包含海淀区的数组和空元素数组
    可以这样写:

    <?php
    $all_zone=array(
            array("id"=>"R001","name"=>"东城区"),
            array("id"=>"R002","name"=>"西城区"),
            array("id"=>"R003","name"=>"朝阳区"),
            array("id"=>"R004","name"=>"海淀区"),
            array("id"=>"R005","name"=>"昌平区"),
            array("id"=>"R006","name"=>"丰台区"),
            array("id"=>"R007","name"=>"通州区"),
            array("id"=>"","name"=>""),
            array("id"=>"R008","name"=>"大兴区"),
            );
    //自定义函数,去除包含某一个值得数组
    function delValue($arr)
    {
        foreach ($arr as $key=>$value){
            if($value=="R004"||$value==""){
                return false;
            }
            return true;
        }
    }
    $reArr=array_filter($all_zone,"delValue");
    sort($reArr);//重新生成索引下标
    print_r($reArr);
    ?>

    其中:array_filter($all_zone,"delValue");

      array_filter(array,function)

      用回调函数过滤数组中的元素,如果自定义过滤函数返回 true,则被操作的数组的当前值就会被包含在返回的结果数组中, 并将结果组成一个新的数组

    打印结果:

    array
      0 => 
        array
          'id' => string 'R001' (length=4)
          'name' => string '东城区' (length=6)
      1 => 
        array
          'id' => string 'R002' (length=4)
          'name' => string '西城区' (length=6)
      2 => 
        array
          'id' => string 'R003' (length=4)
          'name' => string '朝阳区' (length=6)
      3 => 
        array
          'id' => string 'R005' (length=4)
          'name' => string '昌平区' (length=6)
      4 => 
        array
          'id' => string 'R006' (length=4)
          'name' => string '丰台区' (length=6)
      5 => 
        array
          'id' => string 'R007' (length=4)
          'name' => string '通州区' (length=6)
      6 => 
        array
          'id' => string 'R008' (length=4)
          'name' => string '大兴区' (length=6)

    这样就可以继续对这个新数组操作了。

    千里之行,始于足下。改变现在,就是改变未来。改变未来,从现在开始。 个人网站:http://www.wangkongming.cn
  • 相关阅读:
    nodejs处理get请求
    ubuntu中chromium无法播放flash,安装flash
    JQuery日历控件
    深度理解Jquery 中 offset() 方法
    javascrip中parentNode和offsetParent之间的区别
    JQuery判断元素是否存在
    javascript日历控件——纯javascript版
    canvas作为背景
    background-position控制背景位置
    javascript日历控件
  • 原文地址:https://www.cnblogs.com/wangkongming/p/2855136.html
Copyright © 2011-2022 走看看