PHP-查找数组的父键
我试图找到一种方法来返回数组的父键的值。
例如,从下面的数组中,我想找出$ array [‘id’] ==“
0002”的父键。父键很明显,因为它是在这里定义的(它是“产品”),但是通常它是动态的,因此是问题所在。但是,“ id”和“ id”的值是已知的。
[0] => Array (
[data] =>
[id] => 0000
[name] => Swirl
[categories] => Array
(
[0] => Array
(
[id] => 0001
[name] => Whirl
[products] => Array
(
[0] => Array
(
[id] => 0002
[filename] => 1.jpg
)
[1] => Array
(
[id] => 0003
[filename] => 2.jpg
)
)
)
)
)
回答:
进行一些粗略的递归,但应该可以:
function find_parent($array, $needle, $parent = null) { foreach ($array as $key => $value) {
if (is_array($value)) {
$pass = $parent;
if (is_string($key)) {
$pass = $key;
}
$found = find_parent($value, $needle, $pass);
if ($found !== false) {
return $found;
}
} else if ($key === 'id' && $value === $needle) {
return $parent;
}
}
return false;
}
$parentkey = find_parent($array, '0002');
以上是 PHP-查找数组的父键 的全部内容, 来源链接: utcz.com/qa/398170.html