【PHP】returnで出来ること【基礎と応用】

【PHP】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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です