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); ?>
(PHP 8)
ReflectionProperty::getDefaultValue — Returns the default value declared for a property
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