0

print_r を使用すると次のようになる多次元配列があります。

Array ( 

[car] => Array (   
           [72] => Camry 
           [62] => Lexus 
           [55] => honda 
           [44] => toyota 
                )

[Job] => Array (   
           [70] => Bookstore
           [73] => Cafe 
               ) 

[City] => Array (  
           [68] => Wisconsin
           [63] => Chicago 
           [47] => New York City 
           [46] => Los Angeles 
                ) 
 ) 

これは親子多次元配列です。親は何人でも、子は何人でも存在できます。

このように見えるように多次元配列をエコーアウトするにはどうすればよいですか

Car
    Camry 
    Lexus 
    honda 
    toyota

Job
    Bookstore
    Cafe

City
    Wisconsin
    Chicago
    New York City
    Los Angeles

多次元配列を出力する私の試み:

function RecursiveWrite($array) {
                      foreach ($array as $vals) {
                          echo $vals['parent'] . "\n";
                          RecursiveWrite($vals['child']);
                      }
                  }     
RecursiveWrite($categories); // $categories is the name of the array 

コードを実行しても、これは出力を出力しません。助言がありますか?

4

3 に答える 3

1

タブとリターン記号は、ここで HTML または FILE 出力が必要なものに依存することを考慮すると、コードは次のとおりです。

$tab = "\t"; // tab
$return = "\r"; // return

foreach ($array as $key => $a) {
    echo $key.$return;
    foreach ($a as $value) {
        echo $tab.$value.$return;
    }
}
于 2012-12-01T05:42:54.093 に答える
1

再帰関数を作成します。

半疑似:

function dumpArr (arr){
  foreach element in arr {
    if element is array/object{
      dumpArr(element)
    }else{
      echo element
    }
  }
}

次に、CSS を使用してパディング、マージンなどを調整できます。

于 2012-12-01T05:43:37.997 に答える