Heim  >  Artikel  >  Backend-Entwicklung  >  Wie überschreibe ich bestimmte Standardargumente in PHP-Funktionen?

Wie überschreibe ich bestimmte Standardargumente in PHP-Funktionen?

Barbara Streisand
Barbara StreisandOriginal
2024-10-30 13:09:02913Durchsuche

How to Override Specific Default Arguments in PHP Functions?

Erweiterte Verwendung von Standardargumenten in PHP-Funktionen

In PHP bieten Standardargumente Flexibilität für Funktionen und ermöglichen es Entwicklern, Fallback-Werte für Parameter zu definieren. Wenn es jedoch um mehrere Standardargumente geht, kann es verwirrend sein, bestimmte Argumente selektiv zu überschreiben und für andere die Standardwerte beizubehalten.

Frage:

Angenommen, wir haben ein Funktion mit Standardargumenten:

<code class="php">function foo($blah, $x = "some value", $y = "some other value") {
    // code here!
}</code>

Wie können wir das Standardargument für $x verwenden, aber einen anderen Wert für $y festlegen?

Lösung:

Der Schlüssel dazu ist die Änderung der Funktionsdeklaration:

<code class="php">function foo($blah, $x = null, $y = null) {
    if (null === $x) {
        $x = "some value";
    }

    if (null === $y) {
        $y = "some other value";
    }

    code here!
}</code>

Diese Anpassung ermöglicht es Ihnen, die Funktion wie folgt aufzurufen:

<code class="php">foo('blah', null, 'non-default y value');</code>

In diesem Fall $x behält seinen Standardwert bei, während $y mit dem angegebenen Nicht-Standardwert überschrieben wird.

Zusätzliche Überlegungen:

  • Standardmäßig funktionieren PHP-Parameter nur als die letzten Argumente in einer Funktion. Es ist nicht möglich, einen Parameter wegzulassen und den Wert eines darauf folgenden Parameters zu überschreiben.
  • Wenn Sie mit einer unterschiedlichen Anzahl von Parametern unterschiedlichen Typs arbeiten, sollten Sie erwägen, eine Funktion mit einer variablen Anzahl von Argumenten zu deklarieren, wie in gezeigt folgendes Beispiel:
<code class="php">public function __construct($params = null) {
    // code here!
}</code>

Das obige ist der detaillierte Inhalt vonWie überschreibe ich bestimmte Standardargumente in PHP-Funktionen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn