Kalle_B: Pointer auf array wird nicht weitergestellt next($arr)

Beitrag lesen

Hallöle,

schon wieder eine Knobelei. In PHP3 lief es noch, jetzt mault PHP4.

Ich ersetze Platzhalter (hier [PHP_SELF])in einer Zeile

<form class=f001 name='form001' action='[PHP_SELF]'  method='post'>

mit Hilfe eines assoziativen Arrays:

$arr = array(
    'segment'       => 'kopf'
   ,'[owner_titel]' => $row_own['titel']
   ,'[PHP_SELF]'    => $_SERVER['PHP_SELF']
   ,'[kennwort]'    => $kennwort
   ,'[last_login]'  => $last_login
   ,'[fehler1]'     => 'nodisp'
);

und zwar so:

// ALLE PLATZHALTER IN DIESER ZEILE ERSETZEN
      reset( $arr );
      while ($field = current( $arr )) {
echo "suche [".key( $arr )."] [".$field."]<br>\n";
        // mixed str_replace ( mixed search, mixed replace, mixed subject [, int &count] )
        $zeile = str_replace( key( $arr ), $field, $zeile );
        next( $arr );
      }
      echo $zeile;

durch das eingebaute echo sehe ich immer nur
suche [segment] [kopf]

das next( $arr ) scheint in PHP4 nicht zu wirken, obwohl es sollte:
http://de3.php.net/next

Lieben Gruß, Kalle