PHPにおけるreturn文
渡された数値の2乗を画面に表示する関数があるとします:
<?php
function func($num) {
echo $num * $num;
}
func(3); // 9を出力
?>
この値を画面に表示するのではなく、次のように変数に代入したいとします:
<?php
$res = func(3); // 変数$resに9が入る
?>
このためにPHPには、関数が返す値を指定できる特別な文
returnがあります。
返すとは、呼び出された関数を変数に代入した場合に、
その変数に書き込まれる値を意味します。
それでは、結果を画面に表示するのではなく、変数に返すように関数を書き換えてみましょう:
<?php
function func($num) {
return $num * $num;
}
?>
では、関数の実行結果を変数に記録してみましょう:
<?php
$res = func(3);
?>
データが変数に記録された後、例えば画面に表示することができます:
<?php
$res = func(3);
echo $res; // 9を出力
?>
あるいは、まず何らかの形でこのデータを変更してから、画面に表示することもできます:
<?php
$res = func(3);
$res = $res + 1;
echo $res; // 10を出力
?>
変数に記録する前に、関数の実行結果に対して即座に何らかの操作を行うことも可能です:
<?php
$res = func(3) + 1;
echo $res; // 10を出力
?>
異なる数値に対して関数を複数回呼び出すこともできます:
<?php
$res = func(2) + func(3);
echo $res; // 13を出力
?>
結果を変数に記録せず、直接画面に出力することもできます:
<?php
echo func(3); // 9を出力
?>
数値をパラメータとして受け取り、その数値の3乗を返す関数を作成してください。この関数を使用して、数値3の3乗を求め、変数$resに記録してください。
作成した関数を使用して、数値2と数値3の3乗の和を求め、変数$resに記録してください。