php - php中如何将对象转换为数组的数组?

标签 php jquery object multidimensional-array

我有一篇 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/

相关文章:

php - 如何将 CSS 样式表包含到 *included* PHP 文件中?

jquery - 如何制作动态变量?

javascript - 尝试显示 Json 结果但只获取 [Object,Object]

c++ - 将指针地址更改为另一个对象

java - 如何在Java中打印List对象元素?

php - 试图获取非对象代码点火器的属性

php - bindParam()、bindValue()和execute(array())有什么区别和优势

PHP将const数组合并到新的const数组而不嵌套

javascript - 如何让 jQuery 插件同时处理多个元素?

javascript - 如何根据对象或 iframe 内容的长度动态更改其长度