get_mangled_object_vars

(PHP 7 >= 7.4.0, PHP 8)

get_mangled_object_varsRetorna um array de nomes únicos e valores das propriedades do objeto

Descrição

get_mangled_object_vars(object $object): array

Retorna um array cujos elementos são as propriedades de object. As chaves são os nomes das variáveis membras, com algumas exceções notáveis: variáveis privadas têm o nome da classe prefixada ao nome da variável, e variáveis protegidas têm um * prefixado ao nome da variável. Estes valores prefixados têm bytes NUL de cada um dos lados. Propriedades tipadas não inicializadas são silenciosamente descartadas.

Parâmetros

object

Uma instância de objeto.

Valor Retornado

Retorna um array contendo todas as propriedades de object, independente da visibilidade.

Exemplos

Example #1 Exemplo de 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));

O exemplo acima produzirá:

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

Veja Também