php生成无限ul列表方法,php – 从fetch Array创建无限的ul li标签(列表)

我将创建一个无限列表使用我的数组PDO结果中的li和ul标签(取出)

我的阵列:

Array (

[0] => Array ( [category_label] => catLevel4 [category_id] => 22 [category_owner] => 21 )

[1] => Array ( [category_label] => catLevel3 [category_id] => 21 [category_owner] => 20 )

[2] => Array ( [category_label] => catLevel2 [category_id] => 23 [category_owner] => 8 )

[3] => Array ( [category_label] => catLevel2 [category_id] => 24 [category_owner] => 8 )

[4] => Array ( [category_label] => catLevel2 [category_id] => 20 [category_owner] => 6 )

[5] => Array ( [category_label] => catLevel1 [category_id] => 6 [category_owner] => 0 )

[6] => Array ( [category_label] => catLevel1 [category_id] => 7 [category_owner] => 0 )

[7] => Array ( [category_label] => catLevel1 [category_id] => 8 [category_owner] => 0 )

)

我想要 :

catLevel1

catLevel2

catLevel3

catLevel4

catLevel1

catLevel1

catLevel2

catLevel2

我做了转换功能:

function getCategory($parentCategoryId,$data)

{

foreach($data as $row){if($row['category_owner']==$parentCategoryId){?>

'> <?php echo $row['category_label'];?>

}

echo getCategory(0,$this->categorysList);

这个函数非常适合我,但是创建null< ul>< / ul>对于所有项目!

感谢您帮助建立标准功能; D.

解决方法:

你得到null< ul>标签,因为您在没有任何检查的情况下对其进行硬编码,并在每次迭代中输出.尝试这样的事情:

function getCategory($parentCategoryId, $data) {

foreach ($data as $row) {

if ($row['category_owner'] == $parentCategoryId) {

$str .= '

' . $row['category_label'] . '' . "\n";

$res = getCategory($row['category_id'], $data);

if ($res) {

$str .= '

  • ' . $res . '

' . "\n";

}

$str .= '

' . "\n";

}

}

return $str;

}

$str = getCategory(0, $data);

echo $str;

?>

所以你得到这样的输出:

catLevel1

  • catLevel2

    • catLevel3

      • catLevel4

catLevel1

catLevel1

  • catLevel2

  • catLevel2

标签:php,html-lists

来源: https://codeday.me/bug/20190704/1374254.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值