我有一个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);
}
请注意,您将失去按列名获取项目的功能。
但请退后一步,思考一下您的$结果来自何处。
如果您使用的是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);