2 回答
TA贡献1900条经验 获得超5个赞
您必须添加一些检查,请参见下面的代码
if(!empty($menuSonuc)){
echo '<ul class="anamenu">';
foreach ($menuSonuc as $menum) {
if ($menum->katID == null) {
echo '<li><a href=""><span class="asagiok"></span>' . $menum->baslik . '</a>';
$id = $menum->id;
kategoriler($menuSonuc, $id);
echo '</li>';
}
}
echo '</ul>';
}
function checkSub($menuSonuc, $id){
foreach ($menuSonuc as $menum) {
if ($menum->katID == $id) {
return true;
}
}
return false;
}
function kategoriler($menuSonuc, $id)
{
if(!empty($menuSonuc)){
$index=0;
foreach ($menuSonuc as $menum) {
if ($menum->katID == $id) {
if($index==0){
echo '<ul>';
}
echo '<li><a href="">'.((checkSub($menuSonuc, $menum->id))?'<span class="sagok"></span>':''). $menum->baslik . '</a>';
kategoriler($menuSonuc, $menum->id);
echo '</li>';
$index++;
}
}
if($index>0){
echo '</ul>';
}
}
}
TA贡献1859条经验 获得超6个赞
如果你空了,ul那就意味着$menuSonuc空了,它不会输入foreach。您可以检查是否为空以防止空ul
function kategoriler($menuSonuc, $id){
if(empty($menuSonuc)){
return;
}
echo '<ul>';
foreach ($menuSonuc as $menum) {
if ($menum->katID == $id) {
echo '<li><a href=""><span class="sagok"></span>' . $menum->baslik . '</a>';
kategoriler($menuSonuc, $menum->id);
echo '</li>';
}
}
echo '</ul>';
}
更新
如果仍然空着,ul那么问题就在于您正在检查的情况$menum->katID == $id。
这意味着它$menum->katID与永远不会相同$id。检查这些值,您将解决您的问题。或者给我们一个您的数组的例子,以便我们检查它们。
- 2 回答
- 0 关注
- 139 浏览
添加回答
举报