<?php
'id' => 1,
'title'=>'book1',
'parentid'=>0
),
'id' => 2,
'title'=>'book2',
'parentid'=> 1
),
'id' => 3,
'title'=>'book3',
'parentid'=> 2
),
);
function buildTree($data,$prID=0,$q=NULL){
foreach ($data as $key => $element) {
if($element['parentid']==$prID || $bool){
$children = buildTree($data, $element['id'],TRUE);
if ($children) {
$element['children'] = $children;
}
$branch[] = $element;
}
}
return $branch;
}
function printTree($branch,$space=-1,$w=''){
$q=0;
if($w != ''){
$w=$w.'-';
}
foreach ($branch as $value) {
//$i=$space;
$q++;
echo $w.$q.'-'.$value['title']."<br>";
$i=$i++;
printTree($value['children'],$i,$w.$q);
}
}
}
$ndata=buildTree($datas);
printTree($ndata);
PD9waHAKCQkkZGF0YXM9YXJyYXkoCgkJCQlhcnJheSgKCQkJCQkJCSdpZCcgPT4gMSwKCQkJCQkJCSd0aXRsZSc9Pidib29rMScsCgkJCQkJCQkncGFyZW50aWQnPT4wCgkJCQkJKSwKCQkJCWFycmF5KAoJCQkJCQkJJ2lkJyA9PiAyLAoJCQkJCQkJJ3RpdGxlJz0+J2Jvb2syJywKCQkJCQkJCSdwYXJlbnRpZCc9PiAxCgkJCQkJKSwKCQkJCWFycmF5KAoJCQkJCQkJJ2lkJyA9PiAzLAoJCQkJCQkJJ3RpdGxlJz0+J2Jvb2szJywKCQkJCQkJCSdwYXJlbnRpZCc9PiAyCgkJCQkJKSwKCgkJKTsKCglmdW5jdGlvbiBidWlsZFRyZWUoJGRhdGEsJHBySUQ9MCwkcT1OVUxMKXsKCQkJCSRicmFuY2ggPSBhcnJheSgpOwoJCQkJZm9yZWFjaCAoJGRhdGEgYXMgJGtleSA9PiAkZWxlbWVudCkgewoJCQkJCSRib29sPSFhcnJheV9rZXlfZXhpc3RzKCRlbGVtZW50WydwYXJlbnRpZCddLCAkZGF0YSkgJiYgISRxOwoJCQkJCWlmKCRlbGVtZW50WydwYXJlbnRpZCddPT0kcHJJRCB8fCAkYm9vbCl7CgkJCQkJCSRjaGlsZHJlbiA9IGJ1aWxkVHJlZSgkZGF0YSwgJGVsZW1lbnRbJ2lkJ10sVFJVRSk7CgkJCQkJCWlmICgkY2hpbGRyZW4pIHsKCQkJICAgICAgICAgICAgICAgICRlbGVtZW50WydjaGlsZHJlbiddID0gJGNoaWxkcmVuOwoJCQkgICAgICAgICAgICB9CgkJCSAgICAgICAgICAgICRicmFuY2hbXSA9ICRlbGVtZW50OwoJCQkJCX0KCQkJCX0KCQkJCXJldHVybiAkYnJhbmNoOwoJfQoKCWZ1bmN0aW9uIHByaW50VHJlZSgkYnJhbmNoLCRzcGFjZT0tMSwkdz0nJyl7CiAgICAgICAgJHE9MDsKICAgICAgICBpZigkdyAhPSAnJyl7CiAgICAgICAgCSR3PSR3LictJzsKICAgICAgICB9CiAgICAgICAgZm9yZWFjaCAoJGJyYW5jaCBhcyAkdmFsdWUpIHsgICAgICAgICAgIAogICAgICAgICAgICAvLyRpPSRzcGFjZTsKICAgICAgICAgICAgCiAgICAgICAgICAgICRxKys7CiAgICAgICAgICAgIGVjaG8gJHcuJHEuJy0nLiR2YWx1ZVsndGl0bGUnXS4iPGJyPiI7CiAgICAgICAgICAgIGlmKGlzc2V0KCR2YWx1ZVsnY2hpbGRyZW4nXSkgJiYgaXNfYXJyYXkoJHZhbHVlWydjaGlsZHJlbiddKSl7CiAgICAgICAgICAgICAgICAkaT0kaSsrOwogICAgICAgICAgICAgICAgcHJpbnRUcmVlKCR2YWx1ZVsnY2hpbGRyZW4nXSwkaSwkdy4kcSk7CiAgICAgICAgICAgIH0KICAgICAgICB9Cgl9ICAgCgoJCSRuZGF0YT1idWlsZFRyZWUoJGRhdGFzKTsKCgkJcHJpbnRUcmVlKCRuZGF0YSk7Cg==