PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   [Funktion] Callback mit Parameter? (https://www.php-resource.de/forum/php-developer-forum/77904-funktion-callback-mit-parameter.html)

der_Behr 11-11-2006 19:29

[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!

ghostgambler 11-11-2006 19:37

Re: [Funktion] Callback mit Parameter?
 
Zitat:

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


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:02 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG