嘿,我有这个数组(实际数组可以是几层深度并跨越树结构)
array
3 =>
array
4 =>
array
7 => null
8 => null
5 => null
6 => null
现在,例如我想要键 7
的路径,它可以这样显示:
array
0 => int 7
1 => int 4
2 => int 3
谁能帮我实现这样的递归函数?
最佳答案
这将返回您正在寻找的内容。如果找不到 key ,它将返回 null。
function getkeypath($arr, $lookup)
{
if (array_key_exists($lookup, $arr))
{
return array($lookup);
}
else
{
foreach ($arr as $key => $subarr)
{
if (is_array($subarr))
{
$ret = getkeypath($subarr, $lookup);
if ($ret)
{
$ret[] = $key;
return $ret;
}
}
}
}
return null;
}
关于php - 在多维树状数组中查找键的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4381352/