Lena Zimmermann: callfunction mit parameter by reference

Beitrag lesen

Hallo zusammen,

ich würde gerne eine callback Funktion mit Parametern by reference aufrufen.

Dies mein kleines Beispiel (Datei öffnen, einlesen und in jeder Zeile Teile ersetzen. Die zu ersetzenden Teile sind in einem Array angegeben)

  
function test($item1, $key, &$str) {  
 $str = str_replace  (  $key, $item1, $str);  
}  
  
$layout = fopen("layout.css","w");  
$datei = fopen("layout2parse.css","r");  
$toreplace = array( 'defgrey' => '#00ff00');  
  
while($line = fgets($datei, 1024)){  
 array_walk($toreplace, 'test', $line);  
 fwrite($layout, $line);  
}  

Leider wird das & in der Funktionsdeklaration ignoniert, die Variable also nur in Funktion geändert, nicht im "Hauptprogramm". Es geht, in dem ich das & in den Funktionsaufruf packe, das ist aber deprecated. Was also kann ich tun?

Gruß
Lena