get_mangled_object_vars()
get_mangled_object_vars() — Returns an array of mangled object properties.
Built-in function of PHP 8.5. The manual lists it as available in PHP 7 >= 7.4.0, PHP 8. This page is the reference card: signature, parameters and return value, plus the changelog and the example the manual provides.
What it does
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.
Signature
get_mangled_object_vars(object $object): array
Parameters
| Parameter | Type | What it takes |
|---|---|---|
| $object | object | An object instance. |
Return value
Returns an array containing all properties, regardless of visibility, of object.
Example
A runnable snippet:
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));
Output:
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) }
See also
get_class_vars(), get_object_vars()
All PHP 8.5 built-in functions
Reference card built from the PHP manual page get_mangled_object_vars() (PHP documentation, CC BY 3.0). The page is generated from the manual, so the wording of the parameter and return value text follows php.net.