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の実務でも広く使われているため、しっかり理解しておきましょう。
-
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のすべてのバージョンで利用
-
Pythonのreturnステートメント徹底解説!関数から値を返す方法
returnステートメントとは Pythonにおける return [式] ステートメントは、関数の処理を終了させ、必要に応じて呼び出し元(caller)へ式の結果を返すための構文です。 重要なポイントとして、引数を指定しない return ステートメントは return None と同じ意味になります。つまり、明示的に何も返さない関数は、暗黙的に None を返していることになります。 基本的な構文 def 関数名(引数1, 引数2): # 処理 return 式 サンプルコード これまでの例では、関数が値を一切返していませんでした。次のように記述すると、関数から値を返す