PHP 8.4.0 RC2 available for testing

ReflectionParameter::getDefaultValue

(PHP 5 >= 5.0.3, PHP 7, PHP 8)

ReflectionParameter::getDefaultValueGets default parameter value

说明

public ReflectionParameter::getDefaultValue(): mixed

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

参数

此函数没有参数。

返回值

The parameters default value.

更新日志

版本 说明
8.0.0 This method now allows getting the default value of parameters of built-in functions and built-in class methods. Previously, a ReflectionException was thrown.

示例

示例 #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

参见

add a note

User Contributed Notes 1 note

up
5
gmail@asmqb7
8 years ago
[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().
To Top