Wie überschreibe ich Standardfunktionsargumente in PHP, während andere beibehalten werden?

Linda Hamilton
Freigeben: 2024-10-30 21:18:03
Original
614 Leute haben es durchsucht

How to Override Default Function Arguments in PHP While Maintaining Others?

Überschreiben von Standardfunktionsargumenten in PHP

PHP-Funktionen unterstützen die Verwendung von Standardargumenten, um Fallbackwerte beim Aufrufen der Funktion festzulegen. Es kann jedoch eine Herausforderung sein, ein bestimmtes Argument festzulegen und gleichzeitig den Standardwert für die vorhergehenden Argumente beizubehalten.

Betrachten Sie die folgende Funktion:

<code class="php">function foo($blah, $x = "some value", $y = "some other value") {
}</code>
Nach dem Login kopieren

Die Standardargumente für $x und $y sind „some Wert“ bzw. „ein anderer Wert“. Aber was ist, wenn Sie den Standardwert für $y überschreiben möchten, während Sie den Standardwert für $x verwenden?

Überschreiben mit Nullwerten

Versuche, den Standardwert mit Null zu überschreiben, wie zum Beispiel:

<code class="php">foo("blah", null, "test"); // Does not work</code>
Nach dem Login kopieren

oder

<code class="php">foo("blah", "", "test"); // Does not work</code>
Nach dem Login kopieren

wird nicht zum gewünschten Ergebnis führen.

Einstellung nach Variablennamen

Ein anderer Ansatz, bei dem die Standardvariable einer benannten Variable zugewiesen wird Variable wie:

<code class="php">foo("blah", $x, $y = "test");</code>
Nach dem Login kopieren

kann den Standardwert auch nicht überschreiben.

Problemumgehung für das Überschreiben

Um diese Herausforderung zu meistern, ändern Sie die Funktionsdeklaration wie folgt:

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

    if (null === $y) {
        $y = "some other value";
    }
}</code>
Nach dem Login kopieren

Dadurch können Sie Aufrufe wie die folgenden durchführen:

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

und trotzdem den Standardwert für $x beibehalten.

Hinweis: Nur Standardargumente fungieren als letzte Argumente für die Funktion. Das Weglassen eines Parameters und das Überschreiben eines folgenden Parameters ist nicht möglich, wenn Standardwerte innerhalb der Funktionsdefinition deklariert werden.

Das obige ist der detaillierte Inhalt vonWie überschreibe ich Standardfunktionsargumente in PHP, während andere beibehalten werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!