get_mangled_object_vars

(PHP 7 >= 7.4.0, PHP 8)

get_mangled_object_varsВозвращает массив искажённых свойств объекта

Описание

get_mangled_object_vars(object $object): array

Возвращает массив (array), в элементах которого свойства (переменные-члены) этого объекта. Ключами будут имена переменных-членов, с некоторыми примечательными исключениями: к закрытым полям класса (private) спереди будет дописано имя класса; к защищённым полям класса (protected) спереди будет добавлен символ *. Эти добавленные значения с обеих сторон также имеют NUL байты. Неинициализированные типизированные свойства автоматически отбрасываются.

Список параметров

object

Экземпляр объекта.

Возвращаемые значения

Возвращает массив (array), содержащий все свойства объекта object, независимо от области видимости.

Примеры

Пример #1 Пример использования get_mangled_object_vars()

<?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)
}

Смотрите также

  • get_class_vars() - Возвращает объявленные по умолчанию свойства класса
  • get_object_vars() - Возвращает свойства указанного объекта