我有一篇 jQuery 文章返回一些对象。
因此,我有一个数据库查询结果,我执行 json_encode($result)
操作,然后将其作为 jQuery 帖子内的 success
函数的响应发送。
如果我console.log响应,我会看到多个对象。我想要的是以数组的形式发送响应。
在 PHP 中
json_encode($results)
在 JavaScript 中:
success: function(json) {
console.log(json);
}
在控制台日志中:
[>Object , >Object , >Object]
有什么想法吗?
最佳答案
php 中的 $results
是一个对象数组或关联数组。在使用强制转换发送之前,将其设为数字索引数组的数组:
// ASSUMING each $result object does not have its own nested arrays
foreach ($results as &$result) {
$result = array_values((array) $result);
}
请注意,您将无法通过列名称获取项目。
但是请退后一步,想想你的 $result 从何而来。
如果您使用 mysql 驱动程序,请考虑在构建结果时执行此操作:
$results = array();
// Note we use MYSQL_NUM option, so $row looks like array('col1value', 'col2value')
while (FALSE !== ($row = mysql_result_array($resource, MYSQL_NUM))) {
$results[] = $row;
}
json_encode($results);
关于php - php中如何将对象转换为数组的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8362355/