Если объект не слишком сложный (с точки зрения вложенности), вы можете привести класс к массиву:
$example = new StdClass();
$example->foo = 'bar';
var_dump((array) $example);
выводит:
array(1) { ["foo"]=> string(3) "bar" }
Однако это будет только преобразовыватьбазовый уровень.Если у вас есть вложенные объекты, такие как
$example = new StdClass();
$example->foo = 'bar';
$example->bar = new StdClass();
$example->bar->blah = 'some value';
var_dump((array) $example);
, то только базовый объект будет приведен к массиву.
array(2) {
["foo"]=> string(3) "bar"
["bar"]=> object(stdClass)#2 (1) {
["blah"]=> string(10) "some value"
}
}
Чтобы углубиться, вам придется использовать рекурсию.Вот хороший пример преобразования объекта в массив здесь .