(PHP 7 >= 7.4.0, PHP 8)
get_mangled_object_vars — Retorna um array de nomes únicos e valores das propriedades do objeto
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.
object
Uma instância de objeto.
Retorna um array contendo todas as propriedades de object
, independente da visibilidade.
Exemplo #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) }