Posted at

PHP7でメソッド(関数)を戻り値指定にしてみる

More than 3 years have passed since last update.

PHP7になって型宣言(タイプヒンティング)が変更になり戻り値(返し値)の型を指定できるようになりました。

PHP5.6以前は引数のみしか指定できず、型はarray、クラス型のみのでした。

こんな感じで書けます。

<?php

function sum($a, $b): float {
return $a + $b;
}

// 戻り値が float
var_dump(sum(1, 2));
?>

出力結果

float(3)

こんな感じでも使えますし、

PHP的な戻り値の型がまぜこぜになってるやつでも、

<?php

function kansu($hoge):int {
if ($hoge == 1) {
return 9243;
}
return "あああ";
}
var_dump(kansu(1));//成功出力int(9243)

var_dump(kansu(2));//エラー
?>

ぜひ使ってみましょう。