PHP递归数组到UL(逻辑)
我指的是 我发现了这个函数的一个有用的答案,但我现在做的是,它不能正常工作,因为我有一个id为、parentid为、name为的MySQL表结构器,可以创建递归类别和子类别 所以我可以将数据导出到数组中,这个数组有一个额外的数组,叫做CHILDREN,它有子类别数组 但是当我尝试使用这个函数时PHP递归数组到UL(逻辑),php,codeigniter,Php,Codeigniter,我指的是 我发现了这个函数的一个有用的答案,但我现在做的是,它不能正常工作,因为我有一个id为、parentid为、name为的MySQL表结构器,可以创建递归类别和子类别 所以我可以将数据导出到数组中,这个数组有一个额外的数组,叫做CHILDREN,它有子类别数组 但是当我尝试使用这个函数时 function buildUL($array) { echo "\n<ul>\n"; foreach ($array as $key => $value
function buildUL($array) {
echo "\n<ul>\n";
foreach ($array as $key => $value) {
echo "<li><a href=\"#\">";
echo $value['name'];
if (is_array($value))
$this->buildUL($value['children']);
echo "</a></li>\n";
}
echo "</ul>\n";
}
函数buildUL($array){
回声“\n\n”;
foreach($key=>$value的数组){
回声“\n”;
}
回声“
\n”;
}
问题是,<ul>
<li><a href="#">A
<ul>
<li><a href="#">C
<ul>
<li><a href="#">F
<ul>
<li><a href="#">test
<ul>
</ul>
</a></li>
</ul>
</a></li>
</ul>
</a></li>
<li><a href="#">B
<ul>
</ul>
</a></li>
</ul>
</a></li>
<li><a href="#">1
<ul>
<li><a href="#">2
<ul>
</ul>
</a></li>
<li><a href="#">3
<ul>
</ul>
</a></li>
</ul>
</a></li>
<li><a href="#">99
<ul>
<li><a href="#">Another Test
<ul>
</ul>
</a></li>
<li><a href="#">2 X
<ul>
</ul>
</a></li>
<li><a href="#">Ham Yum
<ul>
</ul>
</a></li>
<li><a href="#">Be You
<ul>
</ul>
</a></li>
<li><a href="#">1 Z
<ul>
</ul>
</a></li>
</ul>
</a></li>
</ul>
我认为您应该检查是否设置了值['children'],因为我看到上面一行
echo $value['name'];
$value应该始终是一个数组,这样就可以对每个元素进行递归
试用
if ( isset($value['children'] && is_array($value['children']) )
我认为您应该检查is设置值['children'],而不是仅仅检查if(is_array($value)),因为正如我在上面一行看到的那样
echo $value['name'];
$value应该始终是一个数组,这样就可以对每个元素进行递归
试用
if ( isset($value['children'] && is_array($value['children']) )
而不仅仅是if(is_array($value))函数buildUL($array){
回声“\n\n”;
foreach($key=>$value的数组){
回声“\n”;
如果(!empty($value['children']))
$this->buildUL($value['children']);
}
回声“
\n”;
}
试试这个
顺便说一下,让文本- 测试2
函数buildUL($array)是不合适的{
回声“\n- \n”;
foreach($key=>$value的数组){
回声“\n”;
如果(!empty($value['children']))
$this->buildUL($value['children']);
}
回声“
顺便说一句,让
文本- 测试2
非法输出是不合适的,我的主要功能是propa html格式,但我只是收到了一个问题,因为