ReflectionParameter::allowsNull

(PHP 5, PHP 7, PHP 8)

ReflectionParameter::allowsNull检查是否允许空值

描述

public ReflectionParameter::allowsNull(): bool

检查参数是否允许 null

参数

此函数没有参数。

返回值

如果允许 null,则返回 true,否则返回 false

参见

添加注释

用户贡献的注释 2 个注释

Geoffrey LAURENT
11 年前
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
tuncdan dot ozdemir dot peng at gmail dot com
6 个月前
请注意,`mixed` 类型参数也会返回 true,因为 `null` 是 `mixed` 联合的一部分。

并且不必存在默认的 `null` 值才能使 `->allowsNull()` 返回 true。

function test (AnyType|null $param1, mixed $param2) {}

上面的函数中的两个参数对于 `allowsNull()` 都会返回 true。
To Top