Funktionsaufruf: Default-Wert eines Arguments verwenden
X-Ray
- php
Hallo!
Ich habe eine Funktion wie folgende:
function meineFunktion($a, $b = 'x', $c = 'y') {
...
}
Nun möchte ich die Funktion aufrufen und den Default-Wert von $b verwenden, für $c jedoch selbst eine Angabe machen. Gibt es da eine Möglichkeit?
Etwa so, nur dies funktioniert nicht...
meineFunktion('bla', NULL, 'blub');
oder
meineFunktion('bla', , 'blub');
Grüße, Stefan
Hi X!
Nun möchte ich die Funktion aufrufen und den Default-Wert von $b verwenden, für $c jedoch selbst eine Angabe machen. Gibt es da eine Möglichkeit?
Mit ziemlicher Sicherheit nicht (Zumindest geht das bei C/C++ nicht).
Einzige Möglichkeit wäre ein Tausch der Reihenfolge der Parameter.
MfG H☼psel
Hi,
function meineFunktion($a, $b = 'x', $c = 'y') {
Nun möchte ich die Funktion aufrufen und den Default-Wert von $b verwenden, für $c jedoch selbst eine Angabe machen. Gibt es da eine Möglichkeit?
M.W. nicht.
Zitat Manual: "Note that when using default arguments, any defaults should be on the right side of any non-default arguments"
Du koennest dir aber damit behelfen, einfach ein (assoziatives) Array mit Werten zu uebergeben - da kannst du dann weglassen, was du willst, und in der Funktion darauf pruefen.
MfG ChrisB
Hi!
Gibt es da eine Möglichkeit?
Nein, so nicht.
Vielleicht ist es in Deinem Fall (den ich nicht kenne, Dein Beispiel ist sehr allgemein) besser ein (assoziatives) Array als Parameter zu nutzen und innerhalb der Funktion Default-Werte für die Array-Elemente zu definieren - übergebene Array-Elemente können dann diese überschreiben.
off:PP