【PHP】returnで出来ること【基礎と応用】
- returnとは?基本の使い方
- 複数の値を返す方法
- 配列を返す
- 参照渡しのreturn
- returnを使った早期終了
- 戻り値なしの関数(void)
- returnとクロージャ(無名関数)
- クラスとreturn
returnとは?基本の使い方
PHPにおける return
は、関数の実行結果を呼び出し元に返すために使用されます。returnを使うことで、関数の処理結果を変数に格納したり、別の関数の引数として利用できます。
基本例
function sum($a, $b) {
return $a + $b;
}
$result = sum(3, 5);
echo $result; // 8
この例では、sum()
関数が2つの数を受け取り、その合計を return
で返しています。
複数の値を返す方法
PHPでは、関数から複数の値を返すことは直接できませんが、配列やオブジェクトを利用することで実現できます。
配列を返す
function getCoordinates() {
return [35.6895, 139.6917];
}
list($lat, $lng) = getCoordinates();
echo "緯度: $lat, 経度: $lng"; // 緯度: 35.6895, 経度: 139.6917
連想配列を返す
function getUser() {
return [
"name" => "田中",
"age" => 30
];
}
$user = getUser();
echo "名前: {$user['name']}, 年齢: {$user['age']}"; // 名前: 田中, 年齢: 30
配列を返す
関数の戻り値として配列を返すことで、複数のデータを一度に返すことができます。
function getNumbers() {
return [1, 2, 3, 4, 5];
}
$numbers = getNumbers();
print_r($numbers);
参照渡しのreturn
関数の戻り値を参照で返すことで、呼び出し元で値を直接変更できます。
function &getValue() {
static $value = 10;
return $value;
}
$val = &getValue();
$val = 20;
echo getValue(); // 20
returnを使った早期終了
return
を使うことで、条件に応じて関数の処理を途中で終了できます。
function checkAge($age) {
if ($age < 18) {
return "未成年";
}
return "成人";
}
echo checkAge(16); // 未成年
戻り値なしの関数(void)
PHP 7.1以降では、void
型を指定することで戻り値がないことを明示できます。
function sayHello(): void {
echo "こんにちは";
}
sayHello();
returnとクロージャ(無名関数)
関数内で無名関数を作成し、それを戻り値として返すことも可能です。
function getMultiplier($factor) {
return function($num) use ($factor) {
return $num * $factor;
};
}
$double = getMultiplier(2);
echo $double(5); // 10
クラスとreturn
クラスのメソッドでも return
を利用できます。
class Calculator {
public function add($a, $b) {
return $a + $b;
}
}
$calc = new Calculator();
echo $calc->add(10, 20); // 30