(PHP 7 >= 7.4.0, PHP 8)
get_mangled_object_vars — 返回一个包含对象属性的数组
返回一个 数组,其元素是 object 的属性。键是成员变量名,但也有一些例外:私有变量在变量名前面附加了类名,受保护的变量在变量名前面附加了 *。这些前缀值的两侧都有 NUL 字节。未初始化的 类型化属性 将被静默丢弃。
对象一个对象实例。
返回一个 数组,其中包含 object 的所有属性,无论可见性如何。
示例 #1 get_mangled_object_vars() 示例
<?php
类 A
{
public $public = 1;
protected $protected = 2;
private $private = 3;
}
类 B 扩展 A
{
private $private = 4;
}
$object = new B;
$object->dynamic = 5;
$object->{'6'} = 6;
var_dump(get_mangled_object_vars($object));
类 AO 扩展 ArrayObject
{
private $private = 1;
}
$arrayObject = new AO(['x' => 'y']);
$arrayObject->dynamic = 2;
var_dump(get_mangled_object_vars($arrayObject));以上示例将输出
array(6) {
["Bprivate"]=>
int(4)
["public"]=>
int(1)
["*protected"]=>
int(2)
["Aprivate"]=>
int(3)
["dynamic"]=>
int(5)
[6]=>
int(6)
}
array(2) {
["AOprivate"]=>
int(1)
["dynamic"]=>
int(2)
}