Wie erfolgt die Standardargumente in php
-
26-09-2019 - |
Frage
Ich möchte arg1 = val und arg2 = val
eine FunktiondoSomething(arg1, arg2)
mit Standardwerten definieren,
Wenn ich schreibe
function doSomething($arg1="value1", $arg2="value2"){
// do something
}
Ist es möglich, jetzt doSomething mit Standard arg1 und arg2 = "new_value2"
nennenLösung
Nein, leider ist dies nicht möglich. Wenn Sie $arg2
definieren, müssen Sie $arg1
auch definieren.
Andere Tipps
Manchmal, wenn ich eine Menge Parameter mit Standardwerten hat, werde ich ein Array verwenden, um die Argumente zu enthalten und es mit Ausfällen verschmelzen.
public function doSomething($requiredArg, $optional = array())
{
$defaults = array(
'arg1' => 'default',
'arg2' -> 'default'
);
$options = array_merge($defaults, $optional);
}
Wirklich nur dann sinnvoll, wenn Sie eine Menge Argumente obwohl haben.
function doSomething( $arg1, $arg2 ) {
if( $arg1 === NULL ) $arg1 = "value1";
if( $arg2 === NULL ) $arg2 = "value2";
...
}
Und Aufruf:
doSomething();
doSomething(NULL, "notDefault");
Haben Sie jemals assign arg1 aber nicht arg2? Wenn nicht, dann würde ich die Reihenfolge wechseln.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow