Dahada basite indirgesem dostlar:

$a[]=array("id"=>1,"sub"=>0);
$a[]=array("id"=>2,"sub"=>0);
$a[]=array("id"=>3,"sub"=>0);
$a[]=array("id"=>4,"sub"=>0);
$a[]=array("id"=>5,"sub"=>1);
$a[]=array("id"=>6,"sub"=>5);
$a[]=array("id"=>7,"sub"=>3);
$a[]=array("id"=>8,"sub"=>4);

eğer sub herhangi bir a nın içerisined id ile eşleşiyorsa o arrayın alt arrayı olsun

yani :

$a[]=array("id"=>1,"sub"=>array("id"=>5,"sub"=>array("id"=>6,"sub"=>5))),
$a[]=array("id"=>2,"sub"=>0);
$a[]=array("id"=>3,"sub"=>array("id"=>7,"sub"=>3));
$a[]=array("id"=>4,"sub"=>array("id"=>8,"sub"=>4));