array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'zh', ), 'this' => array ( 0 => 'reflectionproperty.getdefaultvalue.php', 1 => 'ReflectionProperty::getDefaultValue', 2 => 'Returns the default value declared for a property', ), 'up' => array ( 0 => 'class.reflectionproperty.php', 1 => 'ReflectionProperty', ), 'prev' => array ( 0 => 'reflectionproperty.getdeclaringclass.php', 1 => 'ReflectionProperty::getDeclaringClass', ), 'next' => array ( 0 => 'reflectionproperty.getdoccomment.php', 1 => 'ReflectionProperty::getDocComment', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/reflection/reflectionproperty/getdefaultvalue.xml', ), 'history' => array ( ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); contributors($setup); ?>

ReflectionProperty::getDefaultValue

(PHP 8)

ReflectionProperty::getDefaultValueReturns the default value declared for a property

说明

public ReflectionProperty::getDefaultValue(): mixed

Gets the implicit or explicitly declared default value for a property.

参数

此函数没有参数。

返回值

The default value if the property has any default value (including null). If there is no default value, then null is returned. It is not possible to differentiate between a null default value and an unitialized typed property. Use ReflectionProperty::hasDefaultValue() to detect the difference.

示例

示例 #1 ReflectionProperty::getDefaultValue() example

<?php
class Foo {
public
$bar = 1;
public ?
int $baz;
public
int $boing = 0;
public function
__construct(public string $bak = "default") { }
}

$ro = new ReflectionClass(Foo::class);
var_dump($ro->getProperty('bar')->getDefaultValue());
var_dump($ro->getProperty('baz')->getDefaultValue());
var_dump($ro->getProperty('boing')->getDefaultValue());
var_dump($ro->getProperty('bak')->getDefaultValue());
?>

以上示例会输出:

int(1)
NULL
int(0)
NULL

参见