[Funktion] Callback mit Parameter?

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

  • [Funktion] Callback mit Parameter?

    Hi, ich mache einige Ersetzungen mittels der Funktion preg_replace_callback(). Die Callback-Funktion sucht aus einem assoziativen Array den richtigen Ersetzungstext und gibt ihn zurück. Nicht weiter tragisch, auch das mit dem OOP-Dingens (array(&$this...)) habe ich mittlerweile hinbekommen.

    Allerdings behelfe ich mir im Moment mit zwei Klassenvariablen als Zwischenspeicher, um den richtigen Wert aus dem assoziativen Array zu bekommen.

    Komprimiert sieht das so aus:
    PHP-Code:
    var $bla;
    var 
    $blubb;

    function 
    a()
    {
      foreach (...) {
        
    $bla $key;
        for (...) {
          
    $blubb $i;
          
    $ersetzt preg_replace_callback('/{([A-Z_\-\.]*)}/s', array(&$this'cb'), $looptpl);
        }
      }
    }

    function 
    cb($backrefs)
    {
      return 
    $this->arr[$this->bla][$this->blubb][$backrefs[2];

    In der Form funktioniert das schon so: Mittels der Klassenvariablen wird die richtige Ersetzung gefunden und ausgeführt. Jetzt kommt das Problem:

    Im nächsten Schritt möchte (muss) ich in die Funktion a() Rekursion implementieren - und da kracht es dann, weil die Klassenvariablen überschrieben werden. Lange Rede kurzer Sinn:

    Gibt es eine Möglichkeit die zwei Variablen gleich der Callback-Funktion zu übergeben?

    Habe dazu leider nirgends etwas finden können, aber die Hoffnung stirbt zuletzt... Dankeschön!

  • #2
    Re: [Funktion] Callback mit Parameter?

    Original geschrieben von der_Behr
    Gibt es eine Möglichkeit die zwei Variablen gleich der Callback-Funktion zu übergeben?
    afaik, nein

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar

    Lädt...
    X