php 递归问题,想要将数据按照无限极分类的样式显示出来

php 递归问题,想要将数据按照无限极分类的样式显示出来,第1张

首先 将json 解码成数组, 用json_decode 函数 注意 一定要加上第二个参数 否则他会返回一个对象。接下来就是地递归了。这是一个最简单的递归只要逐个遍历即可。

下面是完整的代码:

$data= json_decode($str,true);

$options = getChildren($data);

function getChildren($parent,$deep=0) {

foreach($parent as $row) {

$data[] = array("id"=>$row['id'], "name"=>$row['name'],"pid"=>$row['parentid'],'deep'=>$deep);

if ($row['childs']) {

$data = array_merge($data, getChildren($row['childs'], $deep+1));

}

}

return $data;

}

>

<select name="" id="">

<php  foreach ($options as $row) { >

<option value="<php echo $row['id'] >"><php echo str_pad("",$row['deep']3, "-",STR_PAD_RIGHT); ><php echo $row['name']; ></option>

<php } >

</select>

以上代码已测试通过 效果图如下

//用多维数组存储无限级分类

static public function unlimitedForLayer($cate,$pid=0){

$arr=array();

foreach ($cate as $v) {

if ($v['pid']==$pid) {

$v['child']=self::unlimitedForLayer($cate,$v['id']);

$arr[]=$v;

}

}

return $arr;

}

以上就是关于php 递归问题,想要将数据按照无限极分类的样式显示出来全部的内容,包括:php 递归问题,想要将数据按照无限极分类的样式显示出来、用PHP递归分类列表怎么不会输出子分类、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9493443.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存