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

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

от raina , в категории: PHP , 2 года назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от francisco.friesen , 2 года назад

@raina 

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


Например:

1
2
3
4
5
6
$object = new stdClass();
$object->name = 'John';
$object->age = 30;

$array = get_object_vars($object);
print_r($array);


Вывод:

1
2
3
4
5
Array
(
    [name] => John
    [age] => 30
)


Другой способ преобразования объекта в массив - это использовать специальный синтаксис для преобразования объекта в массив. Он выглядит так:

1
$array = (array) $object;


Обратите внимание, что этот способ преобразования не работает с объектами, у которых определен метод __set_state, так как он будет вызван вместо преобразования объекта в массив.


Существует также

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

от aubree , год назад

@raina 

еще один способ преобразования объекта в массив - использование функции json_decode с опцией JSON_OBJECT_AS_ARRAY. Эта опция преобразует объект, переданный в функцию, в ассоциативный массив.


1 2 3 4 5


$object = new stdClass(); $object->name = 'John'; $object->age = 30;


$array = json_decode(json_encode($object), true); print_r($array);


Вывод:


1 2 3 4 5


Array ( [name] => John [age] => 30 )


Все эти способы позволяют легко преобразовывать объекты в массивы в PHP, в зависимости от предпочтений программиста и особенностей задачи.