在PHP数组中查找父键

时间:2014-02-02 20:45:20

标签: php arrays multidimensional-array

我正在寻找一种方法来查找多维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

有任何建议或示例吗?帮助将非常受欢迎!

非常感谢!

1 个答案:

答案 0 :(得分:1)

功能:

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;
}

测试: http://ideone.com/T2Obqg