Optionale Parameter

dadom110

Erfahrenes Mitglied
Hallo Zusammen,

kurz und bündig, ich habe eine Funktion

PHP:
function doSome($optional1="";$optional2="") {}

Jetzt würde ich gerne diese Funktion aufrufen, und NUR den optionalen Parameter 2 füllen. (der erste soll mit seinem Default-Wert belegt bleiben)

So etwas fruchtet in PHP leider nicht:
PHP:
doSome($optional2="Op2")   // << landet im ersten Parameter

Viele Grüße
D
 
Warum stellst du den zweiten Parameter dann nicht an erste Stelle?

PHP:
doSome(,'test');
Vielleicht so? Ich bin mir da nun aber auch nicht sicher. Ansonsten müsstest du den Default-Wert kennen und kannst ihn doch mitgeben!
 
Warum stellst du den zweiten Parameter dann nicht an erste Stelle?

Wenn das Leben so einfach wäre :) es darf auch der Fall vorkommen das ich nur Parameter1 füllen will, demnach umgehe ich damit das Problem nicht.

PHP:
doSome(,'test');
Vielleicht so? Ich bin mir da nun aber auch nicht sicher. Ansonsten müsstest du den Default-Wert kennen und kannst ihn doch mitgeben!

War auch mein erster Gedanken, führt aber natürlich zu einem Syntax Fehler
(Parse error: syntax error, unexpected ',', expecting '))

Das Mitgeben der default-Werte entbehrt dann leider jeglichem nutzen. Ich verwende Defaultwerte ja genau aus dem Grund das ich mich um dessen Zuweisung nicht kümmern muss.

...jemand weitere Ideen?

Grüße
D
 
Kannst das als Array übergeben? oder ist der Nutzen da auch weg?

PHP:
function doSome($arr) {
  $optional1 = (isset($arr[0]))? $arr[0] : "";
  $optional2 = (isset($arr[1]))? $arr[1] : "";
 // do some
}

doSome( array(1 => "opt2") );
 
Parameter müssen immer angegeben werden. Hier können aber die Standardwerte oder dazu äquivalente Werte angegeben werden, beispielsweise
PHP:
doSome('', 'Op2')
 
Zurück