Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP数组中查找父项_Php_Arrays_Multidimensional Array - Fatal编程技术网

在PHP数组中查找父项

在PHP数组中查找父项,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我正在寻找一种方法来查找多维PHP数组的所有父级 我有以下数组: Array ( [files] => Array ( [a] => Array ( [ab] => Array ( [0] => ab.jpg

我正在寻找一种方法来查找多维PHP数组的所有父级 我有以下数组:

Array
(
    [files] => Array
        (
            [a] => Array
                (
                    [ab] => Array
                        (
                            [0] => ab.jpg
                        )

                    [0] => abc.jpg
                )

            [b] => Array
                (
                    [ba] => Array
                        (
                            [bab] => Array
                                (
                                    [0] => abc.jpg
                                )

                            [bac] => Array
                                (
                                    [0] => abd.jpg
                                )

                            [0] => ade.jpg
                        )

                )

            [c] => Array
                (
                    [cb] => Array
                        (
                            [0] => abf.jpg
                        )

                )

        )

)
我想通过钥匙找到父母,比如, 要查找注册表项的所有父项:“bac”

它应返回:

files->b->ba->bac
有什么建议或例子吗?帮助将是非常感激的

非常感谢

功能:

function array_search_key_recursive($key, array $array) {
    foreach ($array as $i => $child) {
        if ($i === $key) {
            return $i;
        }
        if (!is_array($child)) {
            continue;
        }
        if (false !== $j = array_search_key_recursive($key, $child)) {
            return "{$i}->{$j}";
        }
    }
    return false;
}
测试:

看看一些搜索算法,比如二进制搜索。只是出于好奇。。。搜索密钥0的父项时会发生什么情况?