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() - Возвращает свойства указанного объекта

add a note add a note

User Contributed Notes

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