heinetz: Verständisfrage Rekursion

Beitrag lesen

Hallo Forum,

mein PHP-Skript liefert mir zwar das Ergebnis, das ich erwarte. Dennoch fühle ich mich damit unwohl, weil ich nicht genau weiss, was passiert ;(

function flatten_array (&array){  
 global $my_new_array;  
 foreach ($array as $key => &$value){  
  $my_new_array[$key] = $value['something'];  
  if ($value['children']) {  
   flatten_array($value['children']);  
  }  
 }  
 return $my_new_array;  
}  
  
function test (){  
 global $my_old_array;  
 return flatten_array($my_old_array);  
}

Wie läuft das ab? 'Wartet' die Funktion test(), bis die Funktion flatten_array() irgendwann irendwas zurückgibt? Oder ist das hier grundlegend falsch?

beste gruesse,
heinetz