1. Dekodieren Sie zuerst JSON in ein Array. Beachten Sie, dass Sie den zweiten Parameter hinzufügen müssen, da sonst ein Objekt zurückgegeben wird. Der nächste Schritt ist die Rekursion. Dies ist die einfachste Rekursion, die nur einzeln durchlaufen werden muss.
2. Das Folgende ist der vollständige Code:
$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']; } ?>
Empfohlenes Tutorial: PHP-Video-Tutorial
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn die rekursive unendliche Klassifizierung von PHP langsam ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!