найти путь к файлу из многомерного массива - PullRequest
0 голосов
/ 10 сентября 2011

Я получил массив каталогов ниже.

Я сделаю поиск файлов в этом массиве.Например, path.php, survey.php ... Если файл найден, как построить путь.

для path.php

Я хочу, чтобы функция возвращала '/ survey / config/path.php'

Array
(
[survey] => Array
    (
        [config] => Array
            (
                [0] => path.php
                [1] => routes.php
            )

        [controllers] => Array
            (
                [0] => admin.php
                [1] => giris.php
            )

        [models] => Array
            (
                [0] => giris.php
            )

        [views] => Array
            (
                [0] => admin_form.php
                [1] => widget.php
                [2] => yeni_form.php
            )

        [widgets] => Array
            (
                [0] => survey.php
            )

    )

)

1 Ответ

1 голос
/ 10 сентября 2011
function find_file_path($dir_structure, $filename) {
    foreach($dir_structure as $dir => $subpath) {
        if(is_array($subpath)) {
            $sub_found = find_file_path($subpath, $filename);
            if($sub_found) {
                return "/" . $dir . $sub_found;
            }
        } else {
            if($subpath === $filename) {
                return "/$filename";
            }
        }
    }
    return FALSE;
}
...