[英]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_search
, in_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.