Optionale Argumente in Funktionen

Huhu Experten…

Ich bin gerade mal wieder dabei eines meiner Scripte noch ein wenig zu erweitern und nachdem ich mal bei einer Beschreibung von einer Klasse von nem bekannten gesehen hab dass er einen optionalen Parameter verwendet hat frege ich mich, ob das auch für Funktionen geht…
Der Grund ist ganz einfach dass ich nicht überall wo die Funktion aufgerufen wird diesen Parameter mit eingeben möchte…

Geht das und wenn ja - wie?

Vielen Dank
Munich

Hi Munich,

Geht das und wenn ja - wie?

Du hast zwei Möglichkeiten:

  1. Du trägst die optionalen Parameter fix ein (geht natürlich nur am Ende der Parameterliste, also bei den/dem letzten):

    function foo($bar1, $bar2 = 0, $bar3 = 0) {
    return $bar1 + $bar2 + $bar3;
    }

  2. Du machst komplett dynamische Parameter:

    function foo() {
    $result = 0;
    if ($stack = func_get_args()) {
    foreach ($stack as $bar) {
    $result += $bar;
    }
    }
    return $result;
    }

Beides lässt sich auch kombinieren.

Schönen Gruß,
Rudy