ReflectionParameter::getDefaultValue

(PHP 5 >= 5.0.3, PHP 7)

ReflectionParameter::getDefaultValueGets default parameter value

说明

public ReflectionParameter::getDefaultValue ( void ) : mixed

Gets the default value of the parameter for a user-defined function or method. If the parameter is not optional a ReflectionException will be thrown.

参数

此函数没有参数。

返回值

The parameters default value.

范例

Example #1 Getting default values of function parameters

<?php
function foo($test$bar 'baz')
{
    echo 
$test $bar;
}

$function = new ReflectionFunction('foo');

foreach (
$function->getParameters() as $param) {
    echo 
'Name: ' $param->getName() . PHP_EOL;
    if (
$param->isOptional()) {
        echo 
'Default value: ' $param->getDefaultValue() . PHP_EOL;
    }
    echo 
PHP_EOL;
}
?>

以上例程会输出:

Name: test

Name: bar
Default value: baz

注释

Note:

Due to implementation details, it is not possible to get the default value of built-in functions or methods of built-in classes. Trying to do this will result a ReflectionException being thrown.

参见

User Contributed Notes

gmail@asmqb7 16-May-2016 12:57
[Editor's note: fixed on user's request]

Getting `Uncaught ReflectionException: Internal error: Failed to retrieve the default value`?

You have to wrap this inside ->isDefaultValueAvailable().