PHP Conference Japan 2024

ReflectionParameter::allowsNull

(PHP 5, PHP 7, PHP 8)

ReflectionParameter::allowsNull检查是否允许 null

描述

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
9 个月前
请注意,`mixed` 类型参数也返回 true,因为 `null` 是 `mixed` 联合的一部分。

并且 `->allowsNull()` 返回 true 不需要有默认的 `null` 值。

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

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