PHP foreach循环使用array_key条件过滤数组

时间:2013-11-10 21:28:34

标签: php arrays foreach array-key

这可能是一个非常明显的问题,但无论如何它都是......

我有一个循环来创建一个多维数组的过滤结果

foreach ($myArray as $k => $v) { 
    if (array_keys($v, 'today')) { 
        $todayArray[$k] = $v;
    } 
}

但是如果没有来自array_keys搜索的结果,我需要在数组中创建一个节点来指定没有找到数据等。

3 个答案:

答案 0 :(得分:0)

你需要使用函数并循环它

例如

function arrayLoop($myArray, &$todayArray) {
  foreach ($myArray as $k => $v) { 
      if (array_keys($v, 'today')) { 
          $todayArray[$k] = $v;
      } elseif (is_array($v)) {
           arrayLoop($v, $todayArray);
      }
  }
}

但......和其他人一样,我不知道你要求什么:) 请更多解释:D

答案 1 :(得分:0)

你的意思是当你输出数组时,你想要显示“无结果”,当它是空的时候?像这样:

<?php

foreach($yourArray as $key => $value) {
    if(empty($value))
        echo 'No results.';
    else
        var_dump($value); // sub value
}

?>

答案 2 :(得分:0)

在评论中看到您的数组后:

foreach ($myArray as $k => $v) { 
    if ($v['calendar'] == date('d/m/Y') ) { 
        $todayArray[$k] = $v;
    } 
}