意外と知られていないような気がしたので。
普通にタイプヒントを書くと、nullを許可しない設定になる。
<?php
function f1(int $i) {
return $i;
}
f1(null); //エラーが発生する
デフォルト引数をnullにしておくと、nullを許可する設定になる。
<?php
function f2(int $i = null) {
return $i;
}
f2(null); //エラーが起きない
この性質はスカラ型, array, callable, クラス, 全部使える。
もちろん受け取った側はnullかどうかチェックした上で操作しなければならない。
ただし、戻り値のヒントの場合は使えない。