2011-09-10 18 views
0

私は以下のディレクトリ配列を得ました。多次元配列からのファイルパスを見つける

私はこの配列でファイル検索を行います。例:path.php、survey.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 
      ) 

    ) 

を返すように機能したいpath.php

ため

答えて

1
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; 
} 
+0

感謝。しかし、survey/config/0/path.phpを返します。どうすれば "0"か "1"を削除できますか?ただ質問/ config/path.php –

+0

ありがとうございました:) –

+0

答えがあなたの問題を解決した場合は、その横の緑色のチェックマークアウトラインをクリックして "Accepted"とマークする必要があります。 :) – Amber

関連する問題