函数名称:ReflectionParameter::isDefaultValueAvailable()
适用版本:PHP 5 >= 5.0.3, PHP 7
函数说明:ReflectionParameter::isDefaultValueAvailable() 方法用于检查参数是否有默认值。
用法示例:
<?php
function myFunction($param1, $param2 = 'default')
{
// 创建反射对象
$reflection = new ReflectionFunction('myFunction');
// 获取参数对象
$parameters = $reflection->getParameters();
foreach ($parameters as $parameter) {
// 检查参数是否有默认值
if ($parameter->isDefaultValueAvailable()) {
echo "参数 " . $parameter->getName() . " 有默认值\n";
} else {
echo "参数 " . $parameter->getName() . " 没有默认值\n";
}
}
}
myFunction('value');
?>
输出结果:
参数 param1 没有默认值
参数 param2 有默认值
在上面的示例中,我们定义了一个名为myFunction
的函数,其中有两个参数,其中$param2
有一个默认值。然后,我们通过创建ReflectionFunction
对象来获取函数的参数对象,并使用isDefaultValueAvailable()
方法检查每个参数是否有默认值。最后,根据检查结果输出相应的消息。
请注意,isDefaultValueAvailable()
方法只能在反射参数对象上调用,因此我们首先需要通过ReflectionFunction
(或ReflectionMethod
)来获取参数对象。