哎,我这个阵列(实际阵列可以是几个水平深处并跨越树结构)
array
3 =>
array
4 =>
array
7 => null
8 => null
5 => null
6 => null
Run Code Online (Sandbox Code Playgroud)
现在,例如我想要键的路径7,它可以这样显示:
array
0 => int 7
1 => int 4
2 => int 3
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我这样的递归功能吗?
这将返回您正在寻找的东西.如果找不到密钥,它将返回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;
}
Run Code Online (Sandbox Code Playgroud)