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