php - 如何在php中将对象转换为数组
问题描述
如何在php中将对象转换为数组?例如,这里我想将 $result 变量转换为数组。这是代码:
$statement = $adapter->createStatement('SELECT * FROM `users`');
$result = $statement->execute();
$result = new JsonModel($result);
$result = array($result);
var_dump($result);
return ($result);
```
It produces the following output.
array(1) { [0]=> object(Laminas\View\Model\JsonModel)#160 (8) { ["captureTo":protected]=> NULL ["jsonpCallback":protected]=> NULL ["terminate":protected]=> bool(true) ["children":protected]=> array(0) { } ["options":protected]=> array(0) { } ["template":protected]=> string(0) "" ["variables":protected]=> array(4) { [0]=> array(3) { ["id"]=> string(1) "1" ["name"]=> string(13) "J. K. Rowling" ["deleted"]=> string(1) "0" } [1]=> array(3) { ["id"]=> string(1) "2" ["name"]=> string(19) "George R. R. Martin" ["deleted"]=> string(1) "0" } [2]=> array(3) { ["id"]=> string(1) "3" ["name"]=> string(16) "J. R. R. Tolkien" ["deleted"]=> string(1) "0" } [3]=> array(3) { ["id"]=> string(1) "4" ["name"]=> string(12) "Donald Trump" ["deleted"]=> string(1) "0" } } ["append":protected]=> bool(false) } }
解决方案
PHP 世界中有几个 hydrators 可用。您可以单独使用它们,也可以将它们与类似 ORM 的学说一起使用。例如,看看这个:
- https://packagist.org/packages/laminas/laminas-hydrator
- https://packagist.org/packages/doctrine/doctrine-module
如果您使用没有 Dotrine 的 Laminas,我会选择 1
推荐阅读
- php - Laravel - 捕获删除创建的对象
- html - 如何将我的两个按钮定位到中心?
- python-2.x - Web2py 数以千计的数字格式
- python - 如何将具有多种语言的数据框列翻译成英语而不得到:HTTP 错误 429:请求过多
- bash - Bash:无法从管道读取
- javascript - ReactJS 中名称的下拉列表
- c++ - 使用布尔值验证整数输入
- reactjs - 在 JHipster 中使用货币字段
- rust - 在实现返回可变引用的迭代器时,如何解决“无法为 autoref 推断适当的生命周期”?
- python - 如何让我的按钮增加我的迭代值并在网站上显示效果?(django)