preg_replace, Wert aus Array wird bei foreach nicht übernommen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • preg_replace, Wert aus Array wird bei foreach nicht übernommen

    Hallo,

    ich habe folgenden Code (gepharst durch PHP 5):

    $dummy ist ein Array aus Arrays.

    PHP-Code:
    foreach ($dummy as $myarr) {

        [...]
              
        
    print_r($myarr);

        [...]
              
        
    $out preg_replace(
                   
    "/(\{)([a-zA-Z0-9_]{1,})(\})/e"
                   
    '$myarr["\\2"]',
                   
    $out
                   
    );


    Problem: Über print_r wird alles komplett richtig ausgegeben, preg_replace verwendet allerdings immer das ERSTE Array aus $dummy für die Rückgabe.

    Hat jemand eine Idee wie dieses Verhalten angepasst werden kann damit immer das aktuelle $myarr verwendet wird?

    Danke tracer

  • #2
    Hallo,

    okay, Problem gelöst. Das Ganze ist kein Problem gewesen sondern ein Programmierfehler, $out wird überschrieben und das nächste Mal findet preg_replace keine zu ersetzenden Werte mehr... (irgendwie logisch ;-)

    Richtig also:
    PHP-Code:
    [...]

    $out_act preg_replace(
                   
    "/({)([a-zA-Z0-9_]{1,})(})/e"
                   
    '$myarr["\2"]',
                   
    $out
                   
    );
    [...] 
    Gruß tracer

    Kommentar

    Lädt...
    X