截断多维数组以仅包含某些值

时间:2012-07-26 09:05:59

标签: php multidimensional-array

我有一个数组,我需要截断这个数组,只包含我需要的信息。

参考日期采用以下格式;

    $reference_date = '20120624';

我需要打开这个数组......

    array(3) {
      [0]=>
      array(3) {
        ["ID"]=>
        string(2) "15"
        ["start_time"]=>
        string(19) "2012-06-24 08:00:00"
        ["end_time"]=>
        string(19) "2012-06-24 17:00:59"
      }
      [1]=>
      array(3) {
        ["ID"]=>
        string(2) "28"
        ["start_time"]=>
        string(19) "2012-07-26 18:00:00"
        ["end_time"]=>
        string(19) "2012-07-26 22:00:59"
      }
      [2]=>
      array(3) {
        ["ID"]=>
        string(2) "31"
        ["start_time"]=>
        string(19) "2012-07-28 00:00:00"
        ["end_time"]=>
        string(19) "2012-07-28 23:59:59"
      }
    }

进入这个...

    array(1) {
      [0]=>
      array(3) {
        ["ID"]=>
        string(2) "15"
        ["start_time"]=>
        string(19) "2012-06-24 08:00:00"
        ["end_time"]=>
        string(19) "2012-06-24 17:00:59"
      }

可以有多个具有相同日期(不同时间)的数组。我也需要保留它们。

我尝试了各种不同的方法,但我的理解还没有。

此致

1 个答案:

答案 0 :(得分:0)

$reference_date = '20120624';
$reference_date = substr($reference_date, 0, 4).'-'.substr($reference_date, 4, 2).'-'.substr($reference_date, 6, 2);

$result = array();
foreach($data as $item){
   if(substr($item['start_time'], 0, 10) == $reference_date || substr($item['end_time'], 0, 10) == $reference_date)
       $result[] = $item;
}