Zastosowałem funkcje tylko mam problem z zapetleniem funkcji w funkcji. Zmienne przygotowane ale brak wiedzy odnośnie zapętlenia funkcji. Proszę o pomoc

<?php
Array ( 'id' => 1, 'par' => 0, 'lev' => 1, 'name' => '01' ), Array ( 'id' => 2, 'par' => 0, 'lev' => 1, 'name' => '02' ), Array ( 'id' => 3, 'par' => 0, 'lev' => 1, 'name' => '03' ), Array ( 'id' => 4, 'par' => 0, 'lev' => 1, 'name' => '04' ));
Array ( 'id' => 5, 'par' => 2, 'lev' => 2, 'name' => 'A1' ), Array ( 'id' => 6, 'par' => 2, 'lev' => 2, 'name' => 'A2' ), Array ( 'id' => 7, 'par' => 3, 'lev' => 2, 'name' => 'A3' ), Array ( 'id' => 8, 'par' => 4, 'lev' => 2, 'name' => 'A4' ) );
Array ( 'id' => 9, 'par' => 5, 'lev' => 3, 'name' => 'B1' ), Array ( 'id' => 10, 'par' => 5, 'lev' => 3, 'name' => 'B2' ), Array ( 'id' => 11, 'par' => 6, 'lev' => 3, 'name' => 'B3' ), Array ( 'id' => 12, 'par' => 7, 'lev' => 3, 'name' => 'B4' ));
for($i=1;$i<=999;$i++){
if($arr_lev[$i] == null){
$level_ile=$i-1;
print('level_ile='.$level_ile.'<br/><br/>'); break;
}
}
function loop($arre,$parent_arre,$ktory,$tab,$level_ile)
{
foreach($arre[$ktory] as $item) {
print($item[name
].'<br>'); $tmp[$ktory]=$item[id];
foreach($arre[$ktory+1] as $item) {
if($tmp[$ktory]==$item[par
]) {$tmp[$ktory+1
]=$item[id
]; print($tab.$item[name
].'<br>'); foreach($arre[$ktory+2] as $item) {
if($tmp[$ktory+1
]==$item[par
]) {$tmp[$ktory+2
]=$item[id
]; print($tab.$tab.$item[name
].'<br>'); foreach($arre[$ktory+3] as $item) {
if($tmp[$ktory+1
]==$item[par
]) {$tmp[$ktory+3
]=$item[id
]; print($tab.$tab.$tab.$item[name
].'<br>'); }
}
}
}
}
}
}
}
$tab=' ';
$ile=1;
loop($arr_lev,$item,$ile,$tab,$level_ile);
?>