Wenn ich eine Funktion wiePass Werte auf bestimmte Argumente in PHP
function foo($a, $b = 2, $c = 3)
{
return [$a, $b, $c];
}
Dann kann ich c vorbei $b
und $ weglassen, da sie Standardwerte haben. Aber, sagen wir, ich möchte etwas an $c
weitergeben, aber nicht an $b
. Wie kann ich es tun? Natürlich könnte ich ihre Plätze in der Deklaration tauschen (function foo($a, $c = 3, $b = 2
), aber dann würde ich nicht nur $b
passieren können.
Mein Punkt ist, dass ich eine Funktion erstellen möchte, die Argumente mit Standardwerten hat, aber die, die ich übergeben möchte, variiert. Ich habe das versucht: print_r(foo(1, $c = 5))
, aber es ergibt [1, 5, 3]
nicht in [1, 2, 5]
.
Auch http : //stackoverflow.com/questions/1342908/named-php-optional-arguments –
Sie können den zweiten Parameter nicht überspringen. Wenn Sie den dritten Parameter übergeben müssen, müssen Sie * den richtigen Wert für den zweiten Parameter übergeben. –
Nicht möglich. Was ich mache ist: 'foo ($ param1, 2, $ param3)' d. H., Den Standard beibehalten. – apokryfos