PHP: 関数の戻り値

関数の戻り値

関数が返す情報(値)を戻り値といい、 PHPではreturn文を使って戻り値を返します。 ここでは関数の戻り値の記述方法について説明します。

戻り値がない場合

戻り値がない場合は下のように単に「return;」と記述してもいいですし、 return文は省略しても構いません。

// 関数定義
function f_test($s){

	echo $s . " \n";
	return;
}
// ----------------------

// 関数呼び出し
$n = f_test("Hello World!");

echo $n . " \n";

戻り値がある場合

戻り値がある場合は return の後に戻り値を指定します。
次の関数は2つの引数を受け取り、足した値を戻しています。 呼び出し側では変数 $n で戻り値を受け取っています。

// 関数定義
function f_plus($a, $b){

	return $a + $b;

}

// 関数呼び出し
$n = f_plus(1, 3);

echo $n . " \n";  // 4

戻り値が複数ある場合

PHPではreturn文で戻せる値は1つですが、 配列や連想配列を使うことで実質的に複数の値を戻すことができます。

下の関数「f_double」では2つの値を戻すためにarray()関数を使って 配列を戻り値として指定しています。
戻り値を受け取る側では list()関数を使って配列の中身を別々の変数に 分割して取得しています。

// 関数定義
function f_double($a, $b){

	$a = $a * 2;
	$b = $b * 2;

	// 配列を戻す
	return array($a, $b);
}

// 関数呼び出し
list($n1, $n2) = f_double(1, 3);

echo $n1 . " \n";  // 2
echo $n2 . " \n";  // 6