PHP 8.4.0 RC4 available for testing

ReflectionParameter::allowsNull

(PHP 5, PHP 7, PHP 8)

ReflectionParameter::allowsNullChecks if null is allowed

Description

public ReflectionParameter::allowsNull(): bool

Checks whether the parameter allows null.

Parameters

This function has no parameters.

Return Values

true if null is allowed, otherwise false

See Also

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