Returning Values
CoddyのPHPジャーニー「基礎」セクションの一部 — レッスン 63/71。
これまで作成した関数は echo を使用して出力を直接表示します。しかし、しばしば関数で何かを計算し、結果を返してほしい場合があります。そうすれば、コードの他の場所でそれを使用できます。ここで return 文が登場します。
return 文は、関数が呼び出された場所に値を返します:
<?php
function add($a, $b) {
return $a + $b;
}
$result = add(5, 3);
echo $result;
?>これは 8 を出力します。関数内で合計を印刷する代わりに、それを返します。呼び出しコードはその値を受け取り、$result に格納します。
値を返すことで関数ははるかに汎用性が高まります。返された値は計算に使用したり、他の関数に渡したり、後で保存したりできます:
<?php
function double($num) {
return $num * 2;
}
echo double(5) + double(3);
?>これは 16 を出力します(10 + 6)。double() の各呼び出しは、加算に使用される値を返します。
知っておくべき重要なこと:PHPがreturn文に到達すると、関数はすぐに停止します。return以降のコードは実行されません。
チャレンジ
簡単2行の入力を読み取ります:
- 長方形の底辺を表す数(例:
5) - 長方形の高さを表す数(例:
3)
calculateArea という名前の関数を作成し、2つのパラメータ $base と $height を受け取ります。この関数は長方形の面積(base × height)をreturn する必要があります。
入力値で関数を呼び出し、戻り値を変数に格納し、結果を出力します。
例 1:
入力が 5 と 3 の場合、出力は次のようになります:
15例 2:
入力が 10 と 7 の場合、出力は次のようになります:
70例 3:
入力が 12 と 4 の場合、出力は次のようになります:
48チートシート
return 文は、関数が呼び出された場所に値を返し、コードの他の場所でその結果を使用できるようにします:
<?php
function add($a, $b) {
return $a + $b;
}
$result = add(5, 3);
echo $result; // 出力: 8
?>返される値は、計算に使用されたり、他の関数に渡されたりできます:
<?php
function double($num) {
return $num * 2;
}
echo double(5) + double(3); // 出力: 16
?>PHP が return 文に到達すると、関数は即座に停止します。return の後のコードは実行されません。
自分で試してみよう
<?php
// 入力を読み取る
$base = intval(fgets(STDIN));
$height = intval(fgets(STDIN));
// TODO: calculateArea という名前の関数を作成し、$base と $height パラメータを受け取る
// その関数は面積 (base × height) を返す
// TODO: 入力値で関数を呼び出し、結果を変数に格納する
// 結果を出力する
echo $result;
?>このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators