nullableとは
指定した型だけでなく null(そもそも値をを持っていない型)も許容する型です
使用方法は型名の前に ? を付けて宣言します
function greet(?string $name) {
if ($name === null) {
echo "こんにちは、名無しゲストさん!";
} else {
echo "こんにちは、{$name}さん!";
}
}
greet("鈴木"); // → こんにちは、鈴木さん!
greet(null); // → こんにちは、名無しゲストさん!

どのような場合に使用する
- 引数や戻り値が「nullになる可能性」があるとき
例)ユーザー入力フォームで省略してもいい場合
- APIレスポンスの「データがないかも」に対応する
- LaravelやSymfonyなどのフレームワークで「型宣言 + null許容」が推奨される
参考サイト
PHP: 新機能 – Manual
https://www.php.net/manual/ja/migration71.new-features.php