gpt4 book ai didi

PHP - 查找数组的父键

转载 作者:可可西里 更新时间:2023-11-01 13:00:36 24 4
gpt4 key购买 nike

我正在尝试找到一种方法来返回数组父键的值。

例如,我想从下面的数组中找出 $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 - 查找数组的父键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2504685/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com