Wie bewirkt die Join-Funktion, dass die vorherigen Parameter weggelassen werden?

WBOY
Freigeben: 2016-10-10 11:56:11
Original
1280 Leute haben es durchsucht

Ich möchte eine Funktion ähnlich wie „join“ (ein Alias ​​von „implode“) kapseln. Der Code lautet wie folgt:

<code><?php
#封装函数:join
$arr = array('jack','male',23);
function getJoin($glue="",$arr){
    $str ="";
    foreach ($arr as $key => $value) {
        $str .= $value.$glue;
    }
    $str = substr($str, 0,-1);
    return $str;
}
echo getJoin(",",$arr);</code>
Nach dem Login kopieren
Nach dem Login kopieren

So geschrieben sieht es ähnlich aus wie der Systemfunktions-Join, aber wenn der $glue-Parameter beim Aufruf nicht ausgefüllt wird, wird ein Fehler gemeldet.

Ich weiß, dass Parameter mit Standardwerten am Ende platziert werden sollten, z. B. getJoin($arr,$glue=""), damit Sie beim Aufruf nur den Parameter $arr ausfüllen können, aber ich habe das Handbuch und den Parameterwert von gelesen Die Systemfunktion Join sieht so aus:

Wie bewirkt die Join-Funktion, dass die vorherigen Parameter weggelassen werden?

Das Fehlen eckiger Klammern weist darauf hin, dass der Parameter nicht weggelassen werden kann. Gleichzeitig wird auch die Schreibmethode zum Ausfüllen nur eines Parameters unterstützt und standardmäßig die leere Zeichenfolge als Wert von $glue verwendet. Obwohl die Erklärung historischer Natur ist, möchte ich dennoch wissen, wie die Systemfunktion implementiert wird.

Antwortinhalt:

Ich möchte eine Funktion ähnlich wie „join“ (ein Alias ​​von „implode“) kapseln. Der Code lautet wie folgt:

<code><?php
#封装函数:join
$arr = array('jack','male',23);
function getJoin($glue="",$arr){
    $str ="";
    foreach ($arr as $key => $value) {
        $str .= $value.$glue;
    }
    $str = substr($str, 0,-1);
    return $str;
}
echo getJoin(",",$arr);</code>
Nach dem Login kopieren
Nach dem Login kopieren

So geschrieben sieht es ähnlich aus wie der Systemfunktions-Join, aber wenn der $glue-Parameter beim Aufruf nicht ausgefüllt wird, wird ein Fehler gemeldet.

Ich weiß, dass Parameter mit Standardwerten am Ende platziert werden sollten, z. B. getJoin($arr,$glue=""), damit Sie beim Aufruf nur den Parameter $arr ausfüllen können, aber ich habe das Handbuch und den Parameterwert von gelesen Die Systemfunktion Join sieht so aus:

Wie bewirkt die Join-Funktion, dass die vorherigen Parameter weggelassen werden?

Das Fehlen eckiger Klammern weist darauf hin, dass der Parameter nicht weggelassen werden kann. Gleichzeitig wird auch die Schreibmethode zum Ausfüllen nur eines Parameters unterstützt und standardmäßig die leere Zeichenfolge als Wert von $glue verwendet. Obwohl die Erklärung historischer Natur ist, möchte ich dennoch wissen, wie die Systemfunktion implementiert wird.

Funktionsüberlastung. . .
http://m.blog.csdn.net/articl...

Wenn Sie diesen Effekt erzielen müssen, können Sie die PHP-Methode zur Deklaration variabler Parameternummern verwenden. Siehe
http://php.net/manual/zh/func...
Laden Sie die Parameter in ein Array ein und verarbeiten Sie sie durch Analysieren des Arrays.

Verwandte Etiketten:
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
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!