簡體   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