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

回到顶部