$tree 配列をループアウトしたいのですが、子がある場合は class='parent' を li に追加し、ない場合はデフォルトのスタイル (li) を使用します。すべての子 li から the and ul ラベルを追加します。
print_r($tree)
結果は
Array
(
[0] => stdClass Object
(
[tid] => 6
[vid] => 2
[name] => parent one
[depth] => 0
[parents] => Array
(
[0] => 0
)
)
[1] => stdClass Object
(
[tid] => 14
[vid] => 2
[name] => child one
[depth] => 1
[parents] => Array
(
[0] => 6
)
)
[2] => stdClass Object
(
[tid] => 13
[vid] => 2
[name] => child two
[depth] => 1
[parents] => Array
(
[0] => 6
)
[6] => stdClass Object
(
[tid] => 8
[vid] => 2
[name] =>parent three
[depth] => 0
[parents] => Array
(
[0] => 0
)
結果を次のように出力したい:
<li class='parent'>
<a href="#">parent one</a><span></span>
<ul class='haschild'>
<li><a href="#">child one/a></li>
<li><a href="#">child two</a></li>
</ul>
</li>
<li><a href="">child three</a></li>
次のコードを使用しましたが、上記の必要な html を出力できません。
foreach($tree as $term){
if($term->depth==0){
echo "<li class='parent'><a href=''>$term->name</a><span></span>";
}
if($term->depth>0){
echo "<ul><li><a href=''>$term->name</a><li></ul>";
}
echo "</li>";
}
上記の出力はひどいものです。どこが間違っているのか、どうすれば修正できますか?