allowsNull 方法會檢查參數是否有類型。
如果定義了類型,只有在預設值為 null 時才允許 null。
<?php
function myfunction ( $param ) {
}
echo (new ReflectionFunction("myfunction"))->getParameters()[0]->allowsNull() ? "true":"false";
?>
結果:true
<?php
function myfunction ( stdClass $param ) {
}
echo (new ReflectionFunction("myfunction"))->getParameters()[0]->allowsNull() ? "true":"false";
?>
結果:false
<?php
function myfunction ( stdClass $param = null ) {
}
echo (new ReflectionFunction("myfunction"))->getParameters()[0]->allowsNull() ? "true":"false";
?>
結果:true