1、首先将json解码成数组, 用json_decode 函数 注意 一定要加上第二个参数 否则他会返回一个对象。接下来就是的递归了。这是一个最简单的递归只要逐个遍历即可。
2、下面是完整的代码:$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;
}
foreach ($options as $row) {
echo str_pad("",$row['deep']*3, "-",STR_PAD_RIGHT);
echo $row['name'];
}
?>