繁体   English   中英

多维PHP数组搜索

[英]Multidimensional PHP array search

我使用php ics解析器将一些ics文件中的数据提取到一个数组中,该数组具有如下基本结构:

[a] => Array (

   [foo] => Array (

      [0] => 01-02-2018 
      [1] => 02-02-2018
      ...

      )
   [bar] => Array (

      [0] => 19-03-2018
      [1] => 20-03-2018
      ...

      )
   ...
)

[b] => Array (

   [foo] => Array (

      [0] => 31-01-2019
      ...

      )
   [bar] => Array(

      [0] => 14-02-2019
      ...

      )
   ...
)

我想要做的很简单:

输入: 19-03-2018

输出: "bar a"

我查找了array_searchin_array和其他常见的解决方案,但是我无法确定在这种特殊情况下如何使用它们。

笔记:

  • gettype($Array["a"]["bar"][0])返回string
  • [foo][bar]内的值是唯一的
  • [foo][bar]出现在[a][b]

由于具有数组的数组,因此需要使用两个foreach进行迭代:

foreach ($Array as $level1_key => $level1_value) {
    foreach ($level1_value as $level2_key => $level2_value) {
        if (in_array('19-03-2018', $level2_value)) {
            echo 'Value found in ' . $level1_key . ' ' . $level2_key;
            // stop both `foreach`s
            break 2;
        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM