api*_*s17 1 php arrays treeview
我将这个地址称为函数olLiTree
我有这个阵列
$ tree = array("A"=> array("B"=> array("C"=>"C","D"=>"D"),"E"=> array("F"=> "F", "G"=> "G")));
但无法使用此功能
function olLiTree($tree)
{
echo '<ul>';
foreach($tree as $item) {
if (is_array($item)) {
olLiTree($item);
} else {
echo '<li>', $item, '</li>';
}
}
echo '</ul>';
}
Run Code Online (Sandbox Code Playgroud)
生成
<ul>
<li>A</li>
<li>B
<ul>
<li>C</li>
<li>D</li>
</ul>
</li>
<li>E
<ul>
<li>F
</li>
</ul>
</li>
<ul>
<li>G</li>
</ul>
</ul>
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我解决这个问题吗?谢谢..
function olLiTree($tree) {
$out = '<ul>';
foreach($tree as $key => $value) {
$out.= '<li>';
if (is_array($value)) {
$out.= $key . olLiTree($value);
} else {
$out.= $value;
}
$out.= '</li>';
}
$out.= '</ul>';
return $out;
}
Run Code Online (Sandbox Code Playgroud)
始终return是最终输出,不要echo直接输出.当你发现一个情况下,你你会感谢自己1天不希望echo立即它.:)
您可能希望将数组结构更改为此,因为它不那么冗余(使用上面的代码):
$tree = array('A', 'B', 'C' => array('CA', 'CB'), 'D');
Run Code Online (Sandbox Code Playgroud)