PHP Conference Japan 2024

get_mangled_object_vars

(PHP 7 >= 7.4.0, PHP 8)

get_mangled_object_vars返回一个包含对象属性的数组

描述

get_mangled_object_vars(对象 $object): 数组

返回一个 数组,其元素是 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)
}

参见

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top