Joachim: mehrdimensionale Arrays dynamisch erweitern

hi,

ich bastele an einer Funktion, mit der ich mehrdimensionale Arrays dynamisch erweitern kann.
Meine bisherige Konstruktion haut leider nicht hin, da sich die Durchlaeufe der rekursiven Funktion gegenseitig ueberschreiben.

Laesst sich mit diesem Ansatz noch was anfangen, oder muss man sowas ganz anders loesen. Falls letzteres - wie?

Anbei mein Gebastels ich habe es mal komplett dranngehaengt, wobei "readOutArr" nur zur Ausgabe des Arrays dient, mein Problem ist die "writeInArr()".

Gruesse  Joachim

// ---- schnipp -------

<?php
// testarray
$line[]                    =  "blih";
$line[]                    =   "die";
$line[]["lala"]            =  array(0 => "japp", 1 => "dup");
$line[]["pups"][]["jep"][] =  "paps";
$line[]                    =   "uff";

function writeInArr($arr, $toEl, $newVal)
{
 global $temp;
 foreach($arr as $key => $val)
 {
  if(is_array($arr[$key]))
  {
   if($key ==  $toEl)
   {
    array_push($arr[$key], $newVal);
   }
   writeInArr($arr[$key], $toEl, $newVal);
  }
  else
  {
   if($arr[$key] ==  $toEl)
   {
    $arr[$key] = array($toEl => array($newVal));
   }
  }
 }
        // testausgabe
 readOutArr($arr);
 echo "<br><br><br>";
 $line = $arr;
}
writeInArr($line, "pups", "bbbb");

// array ausgeben
// arraytiefe $i
$i     = 0;
function readOutArr($arr)
{
 global $i;
 foreach($arr as $key => $val)
 {
  if(is_array($val))
  {
   echo (str_repeat("   ", $i)) . $key . "  enthält:<br>";
   $i ++;
   readOutArr($val);
  }
  else
  {
   echo (str_repeat("   ", $i)) . $key . " = " . $val . "<br>";
  }
 }
 $i = 0;
}

?>
<html><head></head><body>

<?php
readOutArr($line);
?>

</body></html>