在PHP中将嵌套对象转换为数组


Converting nested object to an array in PHP

我使用Laravel 4 Response::json函数,在传递对象时遇到问题。我有一个User对象,包含一些其他对象-Account和Settings。我试图将对象强制转换为数组,但内部对象(Account和Settings)仍保留为对象。有没有一种简单的方法可以将嵌套对象转换为数组,以便将其传递给Response::json?

使用

(array)$object

将对象转换为数组。但是,除非类为此提供专门的方法,否则它将只返回公共属性。

Laravel在使用Response::json时自动转换对象。所以通常你不必麻烦:

Response::json($user);

如果你真的需要一个数组,你可以这样做:

$user->toArray();