PHP 8.4.0 RC4 available for testing

ReflectionParameter::allowsNull

(PHP 5, PHP 7, PHP 8)

ReflectionParameter::allowsNullnull を許可するかどうかを調べる

説明

public ReflectionParameter::allowsNull(): bool

パラメータが null を許可するかどうかを調べます。

パラメータ

この関数にはパラメータはありません。

戻り値

null を許可する場合に true、それ以外の場合に false を返します。

参考

add a note

User Contributed Notes 2 notes

up
15
Geoffrey LAURENT
11 years ago
The allowsNull method look if arguments have a type.
If a type is defined, null is allowed only if default value is null.

<?php
function myfunction ( $param ) {

}

echo (new
ReflectionFunction("myfunction"))->getParameters()[0]->allowsNull() ? "true":"false";

?>

Result : true

<?php
function myfunction ( stdClass $param ) {

}

echo (new
ReflectionFunction("myfunction"))->getParameters()[0]->allowsNull() ? "true":"false";

?>

Result : false

<?php
function myfunction ( stdClass $param = null ) {

}

echo (new
ReflectionFunction("myfunction"))->getParameters()[0]->allowsNull() ? "true":"false";
?>

Result : true
up
0
tuncdan dot ozdemir dot peng at gmail dot com
8 months ago
Please note that `mixed` type parameter also returns true, as `null` is part of the `mixed` union.

And there does not have to be a default `null` value for `->allowsNull()` to return true.

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

Both parameters from the function above will return true for `allowsNull()`.
To Top