Dutch PHP Conference 2025 - Call For Papers

get_mangled_object_vars

(PHP 7 >= 7.4.0, PHP 8)

get_mangled_object_varsReturns an array of mangled object properties

Опис

get_mangled_object_vars(object $object): array

Returns an array whose elements are the object's properties. The keys are the member variable names, with a few notable exceptions: private variables have the class name prepended to the variable name, and protected variables have a * prepended to the variable name. These prepended values have NUL bytes on either side. Uninitialized typed properties are silently discarded.

Параметри

object

An object instance.

Значення, що повертаються

Returns an array containing all properties, regardless of visibility, of object.

Приклади

Приклад #1 get_mangled_object_vars() example

<?php

class A
{
public
$public = 1;

protected
$protected = 2;

private
$private = 3;
}

class
B extends A
{
private
$private = 4;
}

$object = new B;
$object->dynamic = 5;
$object->{'6'} = 6;

var_dump(get_mangled_object_vars($object));

class
AO extends 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)
}

Прогляньте також

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top