PHP foreach 循环,带有用于过滤数组的array_key条件


PHP foreach loop with a array_key conditional for filtering array

这可能是一个显而易见的问题,但无论如何......

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

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

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

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

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

你需要使用函数并循环它

例如:

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更多解释

你的意思是当你输出数组时,你想在它为空时显示"无结果"?喜欢这个:

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