0
私は再帰関数を使ってビジュアルツリーにPHP配列を書式化しようとしていますが、何らかの理由で動作していないようです。それは最初のレベルしか印刷しません。ここに私のコードです。以下はメニューツリーへのPHP配列
function recursiveMenu($arr){
$maketree = "";
if(is_array($arr)){
foreach($arr as $key => $val){
if(is_array($val)){
$maketree .= "<div class='expcol jexpand'><a>[-]</a>".$key."</div>"
. "<div class='section jsection'>";
recursiveMenu($val);
}else{
$maketree .= "<div>".TB.TB." <a href='index.php?action=". $val . "' >"
. "<div class='menuitem'>" . $val . "</div>"
. "</a></div>";
}
$maketree .="</div>";
}
}
return $maketree;
}
function makeMenu($srch) {
$makemenu = "<div>";
$makemenu .= recursiveMenu($srch);
$makemenu .= "</div>"; // </a>
return $makemenu;
}
DBからの私の配列の結果である:私が得る
$srch = Array(
[Asia] => Array(
[South] => Array(
[India] => Array(
[0] => Mumbai
[1] => New Delhi
[2] => Chennai
)
)
)
[Europe] => Array(
[West] => Array(
[Spain] => Array(
[0] => Madrid
)
)
[North] => Array(
[Denmark] => Array(
[0] => Copenhagen
)
)
)
[Americas] => Array(
[South] => Array(
[Brazil] => Array(
[0] => Brasilia
)
)
[North] => Array(
[USA] => Array(
[0] => Los Angeles
[1] => Atlanta
[2] => Boston
[3] => Houston
)
)
[Central] => Array(
[Mexico] => Array(
[0] => Cancun
[1] => Mexico city
)
)
)
[Africa] => Array(
[South] => Array(
[South Africa] => Array(
[0] => Cape Town
[1] => Johannesburg
)
)
)
)
実際の結果は、この(最初のレベルのみ)です:
[-]Asia
[-]Europe
[-]Americas
[-]Africa
誰もがここで間違っているものを見ていますか?前もって感謝します。
素晴らしいです。それはうまくいった!ありがとう。 – Ravi