Как преобразовать объект в массив в php?

Пользователь

от lilla.herman , в категории: PHP , 9 месяцев назад

Как преобразовать объект в массив в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от jaylen.trantow , 5 месяцев назад

@lilla.herman 

Чтобы преобразовать объект в массив в PHP, можно использовать функцию get_object_vars(). Она принимает объект в качестве аргумента и возвращает массив, содержащий все публичные свойства объекта.


Например:

1
2
3
4
5
6
7
$object = new stdClass;
$object->foo = 'bar';
$object->baz = 'qux';

$array = get_object_vars($object);

print_r($array);


Этот код выведет:

1
2
3
4
5
Array
(
    [foo] => bar
    [baz] => qux
)


Обратите внимание, что функция get_object_vars() возвращает только публичные свойства объекта. Чтобы получить также и защищенные и приватные свойства, можно использовать функцию get_class_vars(), которая принимает имя класса в качестве аргумента.


Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
class MyClass {
  public $foo = 'bar';
  protected $baz = 'qux';
  private $quux = 'corge';
}

$object = new MyClass;

$array = get_class_vars('MyClass');

print_r($array);


Этот код выведет:

1
2
3
4
5
6
Array
(
    [foo] => bar
    [baz] => qux
    [quux] => corge
)