如果对象不是太复杂(在嵌套方面),您可以将类强制转换为数组:
$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"
}
}
为了更深入,您将不得不使用递归.对阵列转换here有一个很好的例子.