Heim > Backend-Entwicklung > PHP-Tutorial > Fragen zu Funktionsrückgabewerten

Fragen zu Funktionsrückgabewerten

WBOY
Freigeben: 2016-08-04 09:21:56
Original
808 Leute haben es durchsucht

Ich weiß immer noch nicht viel über Funktionsrückgabewerte. Wenn im folgenden Beispiel jj() aufgerufen wird, wird eine 1 ausgegeben. Es scheint, dass der Funktionsrückgabewert nicht verwendet wird Wenn Sie diese Funktion aufrufen, wird sie ausgeführt. Reicht es aus, nur $a auszugeben? Warum hängt es immer noch mit dem Rückgabewert zusammen?

<code>    function jj(){
        $a=1;
        echo $a;
    }
    $b=jj();
    var_dump($b);</code>
Nach dem Login kopieren
Nach dem Login kopieren

Antwortinhalt:

Ich weiß immer noch nicht viel über Funktionsrückgabewerte. Wenn im folgenden Beispiel jj() aufgerufen wird, wird eine 1 ausgegeben. Es scheint, dass der Funktionsrückgabewert nicht verwendet wird Wenn Sie diese Funktion aufrufen, wird sie ausgeführt. Reicht es aus, nur $a auszugeben? Warum hängt es immer noch mit dem Rückgabewert zusammen?

<code>    function jj(){
        $a=1;
        echo $a;
    }
    $b=jj();
    var_dump($b);</code>
Nach dem Login kopieren
Nach dem Login kopieren

Drucken wird nur auf dem Bildschirm angezeigt. Wenn Sie diesen Wert verwenden, müssen Sie die Eingabetaste verwenden, um ihn an anderer Stelle zu erhalten. Hier gibt Ihre Funktion also nichts zurück, sondern gibt nur 1 aus, sodass die Variable b keinen Wert erhält und daher leer ist.

Da Ihre Funktion keine Return-Anweisung hat, wird nach der Ausführung null zurückgegeben.
Ihr Funktionsausführungsprozess:

  1. $b = jj(); Rufen Sie jj() auf, um $a einen Wert zuzuweisen, geben Sie $a aus, keine Rückgabe (Rückgabe ist null)

  2. var_dump $b, $b wird der Rückgabewert von jj() zugewiesen, daher ist er null

  3. Nachdem die gesamte Ausführung abgeschlossen ist, bleiben die gedruckten 1 (Wert von $a) und Null (Wert von $b) übrig

<code>function jj(){
        $a=1;
        echo $a;
        return $a;
    }
    $b=jj();
    var_dump($b);</code>
Nach dem Login kopieren

Dies ist wahrscheinlich die Ausgabe, die Sie erwarten

Ihre jj-Funktion gibt $a direkt ohne Rückgabe aus, daher ist $b leer

<code>$b=jj();//输出1 直接调用函数jj
var_dump($b);//输出null  打印函数?并没用return值

加了return之后的结果如下:
1
D:\WWW\demo\demo\demo.php:15:int 1
</code>
Nach dem Login kopieren

echo ist eine direkte Ausgabe, return gibt den Ort zurück, an dem es aufgerufen wird

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