dota220141003 2017-11-10 16:11
浏览 25
已采纳

如何用日期过滤数组?

I need to delete any where 'Vencimiento' is different from the current month

I have this array which can be variable, so it occurs to me that I must be a foreach and search if the first 6 characters of expiration ("2017-11" -xx) are equal to the current month verifying it with date ()

ARRAY:

 array(2) {
  [264]=>
  array(10) {
    [0]=>
    array(6) {
      ["idImpuesto"]=>
      int(10)
      ["idConcepto"]=>
      int(19)
      ["periodo"]=>
      string(4) "2017"
      ["tipoOperacion"]=>
      string(12) "PRESENTACION"
      ["vencimiento"]=>
      string(10) "2017-11-13"
      ["formularios"]=>
      string(3) "713"
    }
    [1]=>                               //DELETE
    array(6) {
      ["idImpuesto"]=>                    
      int(10)
      ["idConcepto"]=>
      int(19)
      ["periodo"]=>
      string(4) "2017"
      ["tipoOperacion"]=>
      string(12) "PRESENTACION"
      ["vencimiento"]=>
      string(10) "2017-12-29"                  //IT'S NOT THE CURRENT MONTH
      ["formularios"]=>
      string(3) "713"
    }
    [2]=>                                       //DELETE
    array(5) {
      ["idImpuesto"]=>
      int(10)
      ["idConcepto"]=>
      int(859)
      ["periodo"]=>
      string(4) "2017"
      ["tipoOperacion"]=>
      string(12) "PRESENTACION"
      ["vencimiento"]=>
      string(10) "2017-12-13"                //IT'S NOT THE CURRENT MONTH
    }
    [3]=>
    array(5) {
      ["idImpuesto"]=>
      int(10)
      ["idConcepto"]=>
      int(19)
      ["periodo"]=>
      string(4) "2017"
      ["tipoOperacion"]=>
      string(4) "PAGO"
      ["vencimiento"]=>
      string(10) "2017-11-13"
    }
    [4]=>                                         //DELETE
    array(6) {
      ["idImpuesto"]=>
      int(10)
      ["idConcepto"]=>
      int(191)
      ["periodo"]=>
      string(4) "2018"
      ["anticipoCuota"]=>
      int(1)
      ["tipoOperacion"]=>
      string(4) "PAGO"
      ["vencimiento"]=>
      string(10) "2017-12-13"                   //IT'S NOT THE CURRENT MONTH
    }
    [5]=>                                       //DELETE
    array(6) {
      ["idImpuesto"]=>
      int(10)
      ["idConcepto"]=>
      int(191)
      ["periodo"]=>
      string(4) "2018"
      ["anticipoCuota"]=>
      int(2)
      ["tipoOperacion"]=>
      string(4) "PAGO"
      ["vencimiento"]=>
      string(10) "2018-01-15"                   //IT'S NOT THE CURRENT MONTH
    }
    [6]=>                                     //DELETE
    array(5) {
      ["idImpuesto"]=>
      int(10)
      ["idConcepto"]=>
      int(859)
      ["periodo"]=>
      string(4) "2017"
      ["tipoOperacion"]=>
      string(4) "PAGO"
      ["vencimiento"]=>
      string(10) "2017-12-13"                  //IT'S NOT THE CURRENT MONTH
    }
    [7]=>                                      //DELETE
    array(6) {
      ["idImpuesto"]=>
      int(30)
      ["idConcepto"]=>
      int(19)
      ["periodo"]=>
      string(7) "2017-12"
      ["tipoOperacion"]=>
      string(12) "PRESENTACION"
      ["vencimiento"]=>
      string(10) "2018-01-18"                   //IT'S NOT THE CURRENT MONTH
      ["formularios"]=>
      string(8) "731,2002"
    }
    [8]=>                                      //DELETE
    array(6) {
      ["idImpuesto"]=>
      int(30)
      ["idConcepto"]=>
      int(19)
      ["periodo"]=>
      string(7) "2017-11"
      ["tipoOperacion"]=>
      string(12) "PRESENTACION"
      ["vencimiento"]=>
      string(10) "2017-12-18"                 //IT'S NOT THE CURRENT MONTH
      ["formularios"]=>
      string(8) "731,2002"
    }
    [9]=>                                        
    array(6) {
      ["idImpuesto"]=>
      int(30)
      ["idConcepto"]=>
      int(19)
      ["periodo"]=>
      string(7) "2017-10"
      ["tipoOperacion"]=>
      string(12) "PRESENTACION"
      ["vencimiento"]=>
      string(10) "2017-11-21"
      ["formularios"]=>
      string(8) "731,2002"
    }
  }
  [265]=>
  array(9) {
    [0]=>                                 //DELETE
    array(6) {
      ["idImpuesto"]=>
      int(11)
      ["idConcepto"]=>
      int(191)
      ["periodo"]=>
      string(4) "2017"
      ["anticipoCuota"]=>
      int(4)
      ["tipoOperacion"]=>
      string(4) "PAGO"
      ["vencimiento"]=>
      string(10) "2017-12-13"                 //IT'S NOT THE CURRENT MONTH
    }
    [1]=>                                  //DELETE
    array(6) {
      ["idImpuesto"]=>
      int(30)
      ["idConcepto"]=>
      int(19)
      ["periodo"]=>
      string(7) "2017-12"
      ["tipoOperacion"]=>
      string(12) "PRESENTACION"
      ["vencimiento"]=>
      string(10) "2018-01-18"                  //IT'S NOT THE CURRENT MONTH
      ["formularios"]=>
      string(8) "731,2002"
    }
    [2]=>                                  //DELETE
    array(6) {
      ["idImpuesto"]=>
      int(30)
      ["idConcepto"]=>
      int(19)
      ["periodo"]=>
      string(7) "2017-11"
      ["tipoOperacion"]=>
      string(12) "PRESENTACION"
      ["vencimiento"]=>
      string(10) "2017-12-19"                  //IT'S NOT THE CURRENT MONTH
      ["formularios"]=>
      string(8) "731,2002"
    }
    [3]=>
    array(6) {
      ["idImpuesto"]=>
      int(30)
      ["idConcepto"]=>
      int(19)
      ["periodo"]=>
      string(7) "2017-10"
      ["tipoOperacion"]=>
      string(12) "PRESENTACION"
      ["vencimiento"]=>
      string(10) "2017-11-22"
      ["formularios"]=>
      string(8) "731,2002"
    }
    [4]=>                                     //DELETE
    array(5) {
      ["idImpuesto"]=>
      int(30)
      ["idConcepto"]=>
      int(19)
      ["periodo"]=>
      string(7) "2017-12"
      ["tipoOperacion"]=>
      string(4) "PAGO"
      ["vencimiento"]=>
      string(10) "2018-01-18"                   //IT'S NOT THE CURRENT MONTH
    }
    [5]=>                                       //DELETE
    array(5) {
      ["idImpuesto"]=>
      int(30)
      ["idConcepto"]=>
      int(19)
      ["periodo"]=>
      string(7) "2017-11"
      ["tipoOperacion"]=>
      string(4) "PAGO"
      ["vencimiento"]=>
      string(10) "2017-12-19"                 //IT'S NOT THE CURRENT MONTH
    }
    [6]=>
    array(5) {
      ["idImpuesto"]=>
      int(30)
      ["idConcepto"]=>
      int(19)
      ["periodo"]=>
      string(7) "2017-10"
      ["tipoOperacion"]=>
      string(4) "PAGO"
      ["vencimiento"]=>
      string(10) "2017-11-22"
    }
    [7]=>                                   //DELETE
    array(5) {
      ["idImpuesto"]=>
      int(308)
      ["idConcepto"]=>
      int(19)
      ["periodo"]=>
      string(7) "2017-11"
      ["tipoOperacion"]=>
      string(4) "PAGO"
      ["vencimiento"]=>
      string(10) "2017-12-05"                  //IT'S NOT THE CURRENT MONTH
    }
    [8]=>
    array(5) {
      ["idImpuesto"]=>
      int(308)
      ["idConcepto"]=>
      int(19)
      ["periodo"]=>
      string(7) "2017-10"
      ["tipoOperacion"]=>
      string(4) "PAGO"
      ["vencimiento"]=>
      string(10) "2017-11-06"
    }
  }
}

How can I filter the entire array in this way?

array(2) {
      [264]=>
      array(24) {
        [0]=>
        array(6) {
          ["idImpuesto"]=>
          int(10)
          ["idConcepto"]=>
          int(19)
          ["periodo"]=>
          string(4) "2017"
          ["tipoOperacion"]=>
          string(12) "PRESENTACION"
          ["vencimiento"]=>
          string(10) "2017-11-13"
          ["formularios"]=>
          string(3) "713"
        }
        [1]=>
        array(5) {
          ["idImpuesto"]=>
          int(10)
          ["idConcepto"]=>
          int(19)
          ["periodo"]=>
          string(4) "2017"
          ["tipoOperacion"]=>
          string(4) "PAGO"
          ["vencimiento"]=>
          string(10) "2017-11-13"
        }
        [2]=>                                        
        array(6) {
          ["idImpuesto"]=>
          int(30)
          ["idConcepto"]=>
          int(19)
          ["periodo"]=>
          string(7) "2017-10"
          ["tipoOperacion"]=>
          string(12) "PRESENTACION"
          ["vencimiento"]=>
          string(10) "2017-11-21"
          ["formularios"]=>
          string(8) "731,2002"
        }
        [3]=>
        array(5) {
          ["idImpuesto"]=>
          int(30)
          ["idConcepto"]=>
          int(19)
          ["periodo"]=>
          string(7) "2017-10"
          ["tipoOperacion"]=>
          string(4) "PAGO"
          ["vencimiento"]=>
          string(10) "2017-11-21"
        }
      }
      [265]=>
      array(3) {
        [0]=>
        array(6) {
          ["idImpuesto"]=>
          int(30)
          ["idConcepto"]=>
          int(19)
          ["periodo"]=>
          string(7) "2017-10"
          ["tipoOperacion"]=>
          string(12) "PRESENTACION"
          ["vencimiento"]=>
          string(10) "2017-11-22"
          ["formularios"]=>
          string(8) "731,2002"
        }
        [1]=>
        array(5) {
          ["idImpuesto"]=>
          int(30)
          ["idConcepto"]=>
          int(19)
          ["periodo"]=>
          string(7) "2017-10"
          ["tipoOperacion"]=>
          string(4) "PAGO"
          ["vencimiento"]=>
          string(10) "2017-11-22"
        }
        [2]=>
        array(5) {
          ["idImpuesto"]=>
          int(308)
          ["idConcepto"]=>
          int(19)
          ["periodo"]=>
          string(7) "2017-10"
          ["tipoOperacion"]=>
          string(4) "PAGO"
          ["vencimiento"]=>
          string(10) "2017-11-06"
        }
      }
    }

any ideas?

  • 写回答

4条回答 默认 最新

  • douhu1990 2017-11-10 16:34
    关注

    This code creates a new array with desired output.

    // define new array
    $new_array = array();
    // get year and date in the same format as vencimiento in array
    $year_month = date('Y-m');
    foreach($array as $key=>$value){
        foreach($value as $k=>$v){
            // check for the condition
            if(substr($v['vencimiento'], 0, 7) == $year_month){
                // assign to new array
                $new_array[$key][]=$v;  
            }
        }
    }
    print_r($new_array);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?