Vinzenz Mai: Variablenfunktionen bzw. call_user_func: String für Parameter?

Beitrag lesen

Hallo Daniel,

habe 2 strings,

  • einer enthält den namen der aufzurufenden funktion
  • der andere die parameter, so wie man sie manuell der funktion übergeben würde
    (kurzum ich habe eine funktion durch reguläre ausdrücke entsprechend zerlegt).

Warum?

function test($param1, $param2) {
echo"$param1 $param2";
}

$func = 'test';
$func('hello', 'world');

funktioniert ohne probleme, aber

$param="'hello', 'world'";
$func($param);

Warning: Missing argument 2 for test(), called in ...php on line 12 and ...php on line 2

eben nicht. ich vermute mal, das problem liegt irgendwo bei den anführungszeichen/hochkommata, oder ist ein aufruf so generell nicht möglich?

Hast Du den ersten Benutzerkommentar zu call_user_func() gelesen?

Was hast Du eigentlich vor? Der Einsatz von variablen Funktionen ist genauso wie der Einsatz von variablen Variablen höchst selten notwendig, der scheinbare Komfort verschwindet schnell bei der Fehlersuche und artet in das Gegenteil aus. Bitte schildere daher das Gesamtproblem, nicht Dein Symptome.

Wenn Du Dein Konzept mit variablen Funktionen verwenden willst, dann ist es Deine Aufgabe der variablen Funktion die Parameterzahl zu übergeben, die diese erwartet.

Freundliche Grüße

Vinzenz