get_mangled_object_vars

(PHP 7 >= 7.4.0, PHP 8)

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

Описание

get_mangled_object_vars(object$object): array

Функция возвращает массив (array), элементы которого — свойства объекта. Ключами массива будут имена переменных-членов, с рядом примечательных исключений: в начало имён закрытых переменных добавляется имя класса; в начало имён защищённых переменных — символ *. Функция также добавит 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() - Возвращает свойства указанного объекта
To Top