dedlfix: String als Funktion ausführen

Beitrag lesen

echo $begrüßung;

anstatt:

$positiv = 'friseur';
call_user_function ($positiv($kopftyp));
geht doch auch schlicht:
friseur($kopftyp);

In dem einfachen Beispiel, ja. Wenn du aber eine Methode einer Klasse aufrufen willst, benötigst du call_user_func(), weil ein solcher callback [*] als array($object, 'methode') zu notieren ist, und der lässt sich nicht als variable function aufrufen lässt ("Fatal error: Function name must be a string").
Auch kann man mit der Notation $func($var) nur eine festgelegte Anzahl Parameter übergeben. Möchte man eine flexible Parameteranzahl übergeben lässt sich das mit call_user_func_array() bewerkstelligen.

[*] Callbacks sind übrigens ein Anwendungsfall für variable functions.

echo "$verabschiedung $name";