【问题标题】:PHP foreach loop with a array_key conditional for filtering arrayPHP foreach 循环,带有用于过滤数组的 array_key 条件
【发布时间】:2013-11-10 21:28:34
【问题描述】:

这可能是一个令人痛苦的显而易见的问题,但无论如何……

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

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

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

【问题讨论】:

  • 你的意思是array_key_exists
  • 您到底需要做什么?请显示您的数组的内容并告诉我们您需要访问什么。
  • 我没有看到任何“多维”...
  • 如果我们不知道您的数组内容/结构,我们帮不了您!

标签: php arrays foreach array-key


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    你需要使用函数并循环它

    例如:

    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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

      • 我的数组是潮汐数据列表: Array ( [0] => Array ( [date] => 1382939520 [height] => 4.49 [type] => High Tide [tense] =>过去 [日历] => 28/10/2013 ) [1] => 数组 ( [日期] => 1382963280 [高度] => 1.42 [类型] => 低潮 [紧张] => 过去 [日历] => 28 /10/2013 ) [2] ...
      猜你喜欢
      • 1970-01-01
      • 2017-05-12
      • 2014-02-13
      • 2021-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-02
      相关资源
      最近更新 更多