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