PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのreturnステートメント(return文)の使い方を徹底解説

はじめに

PHPにおけるreturn文の目的は、プログラムの実行制御を呼び出し元の環境へ返すことです。returnが実行されると、関数やモジュールを呼び出していた式の次から処理が再開されます。

return文が関数の内部で実行されると、その時点で現在の関数の実行は終了し、制御は呼び出し元の環境へ引き渡されます。また、return文には式をオプションとして指定できます。この場合、制御とともにその式の評価結果(値)も呼び出し元へ返されます。

includeなどで読み込まれたスクリプト内でreturn文に到達すると、そのスクリプトの実行は直ちに終了し、制御はインクルード元のスクリプトへ戻ります。一方、トップレベルのスクリプト自体にreturn文がある場合は、実行がそこで終了し、制御はOSへ返されます。

関数内でのreturn

以下の例は、関数内でのreturn文の基本的な動作を示しています。

<?php
function SayHello(){
   echo "Hello World!\n";
}
echo "before calling SayHello() function\n";
SayHello();
echo "after returning from SayHello() function";
?>

出力結果

このコードを実行すると、次のような結果になります。

before calling SayHello() function
Hello World!
after returning from SayHello() function

値を返すreturn

次の例では、関数が式の値をreturn文で返しています。引数として受け取った数値の2乗を計算して呼び出し元に渡します。

<?php
function square($x){
   return $x**2;
}
$num=(int)readline("enter a number: ");
echo "calling function with argument $num\n";
$result=square($num);
echo "function returns square of $num = $result";
?>

出力結果

入力として「0」を与えた場合の出力例です。

calling function with argument 0
function returns square of 0 = 0

インクルードされたファイルでのreturn

return文はincludeで読み込まれたファイル内でも有効です。次の例では、test.php内のreturn文によって処理が中断され、制御がメインスクリプトへ戻ります。return以降のコードは実行されません。

//main script
<?php
echo "inside main script\n";
echo "now calling test.php script\n";
include "test.php";
echo "returns from test.php";
?>
//test.php included
<?php
echo "inside included script\n";
return;
echo "this is never executed";
?>

出力結果

メインスクリプトをコマンドラインから実行すると、次のようになります。

inside main script
now calling test.php script
inside included script
returns from test.php

インクルードファイルから値を返す

インクルードされるファイルでも、return文の前に式を置くことができます。次の例では、test.phpが文字列をメインスクリプトへ返し、メイン側ではincludeの戻り値を受け取って表示しています。

//main script
<?php
echo "inside main script\n";
echo "now calling test.php script\n";
$result=include "test.php";
echo $result;
echo "returns from test.php";
?>
//test.php included
<?php
$var="from inside included script\n";
return $var;
?>

出力結果

実行すると、次のような結果が得られます。

inside main script
now calling test.php script
from inside included script
returns from test.php

まとめ

return文は、関数の実行を終了して値を返すだけでなく、includeされたファイルの処理を途中で打ち切り、制御を呼び出し元へ戻す役割も担います。設定ファイルや設定配列をincludeで読み込み、returnで返すパターンはPHPの実務でも広く使われているため、しっかり理解しておきましょう。

  1. PHPのpi()関数とは?使い方と定義済み定数との対応を実例付きで解説

    pi()関数の定義と使い方PHPのpi()関数は、数学定数π(円周率)の値を返す関数です。戻り値はfloat型の「3.14159265359」であり、PHPにあらかじめ定義されている定数M_PIとまったく同じ値になります。構文pi ( void ) : floatパラメータこの関数は引数を受け取りません。引数なしでそのまま呼び出すことができます。戻り値pi()関数は数学定数πの値を返し、定義済みの数学定数M_PIと等価です。数式の中では、M_PIの代わりにpi()関数を使うこともできます。対応するPHPバージョンこの関数はPHP 4.x、PHP 5.x、PHP 7.xのすべてのバージョンで利用

  2. Pythonのreturnステートメント徹底解説!関数から値を返す方法

    returnステートメントとは Pythonにおける return [式] ステートメントは、関数の処理を終了させ、必要に応じて呼び出し元(caller)へ式の結果を返すための構文です。 重要なポイントとして、引数を指定しない return ステートメントは return None と同じ意味になります。つまり、明示的に何も返さない関数は、暗黙的に None を返していることになります。 基本的な構文 def 関数名(引数1, 引数2): # 処理 return 式 サンプルコード これまでの例では、関数が値を一切返していませんでした。次のように記述すると、関数から値を返す