関数の戻り値に関する質問

WBOY
WBOYオリジナル
2016-08-04 09:21:56801ブラウズ

関数の戻り値についてはまだよくわかりません。次の例では、jj() を呼び出すと 1 が直接出力されますが、ここでは関数の戻り値が使用されていないようです。この関数を呼び出したら、$を実行するだけではなく、出力するだけで十分ですか?なぜまだ戻り値に関係しているのでしょうか?

リーリー

返信内容:

関数の戻り値についてはまだよくわかりません。次の例では、jj() を呼び出すと 1 が直接出力されますが、ここでは関数の戻り値が使用されていないようです。この関数を呼び出したら、$を実行するだけではなく、出力するだけで十分ですか?なぜまだ戻り値に関係しているのでしょうか?

リーリー

Print は画面上にのみ表示されます。この値を使用する場合、他の場所で受信するには return を使用する必要があります。したがって、ここでは関数は何も返さず、1 を出力するだけなので、変数 b は値を取得せず、空になります。

関数には return ステートメントがないため、実行後に null が返されます。
関数の実行プロセス:

  1. $b = jj(); jj() を呼び出して $a に値を代入し、$a を出力し、戻り値はありません (戻り値は null)

  2. var_dump $b、$bにはjj()の戻り値が代入されるのでnullになります

  3. すべての実行が完了すると、出力された 1 ($a の値)、null ($b の値) が残ります

リーリー

これはおそらくあなたが期待する出力です

jj 関数は $a をリターンせずに直接出力するため、$b は空です

リーリー

echoは直接出力、returnは呼び出された場所を返します

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。