我有这个数组:
Array
(
[01] => Array
(
[cat_id] => 15
[offset] => 4951
)
[02] => Array
(
[cat_id] => 15
[offset] => 4251
)
[03] => Array
(
[cat_id] => 15
[offset] => 4001
)
[04] => Array
(
[cat_id] => 15
[offset] => 4951
)
[05] => Array
(
[cat_id] => 15
[offset] => 3301
)
)
我有使用 array_key_exists 获取第一级 key 的代码;
if ((array_key_exists("01", $completed_steps))) {
echo "Found 0!";
}
但是我现在想要获取 cat_id 值,如何在 2 级数组中做到这一点?
最佳答案
使用下面的代码,它将找到n层深度的 key 并搜索给定的 key
function multiKeyExists(array $arr, $key) {
// is in base array?
if (array_key_exists($key, $arr)) {
return $arr[$key]['cat_id']; // returned cat_id
}
// check arrays contained in this array
foreach ($arr as $element) {
if (is_array($element)) {
if (multiKeyExists($element, $key)) {
return $element[$key]['cat_id']; // returned cat_id
}
}
}
return false;
}
关于php检查2级多维数组中是否存在值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46541389/