如何返回这个多维PHP数组作为一个JSON对象
How to return this Multidimensional PHP Array as a JSON object?
当控制器请求获取某个用户的所有消息时,我的模型中有以下代码:
public function get_messages($user_id) {
$sql = "SELECT *
FROM messages
WHERE `to` = '$user_id'
ORDER BY id DESC";
$query = $this->db->query($sql);
foreach($query->result() as $row) {
$messages[] = array(
'id' => $row->id,
'to' => $row->to,
'from' => $row->from,
'message' => $row->message,
'star' => $row->star,
'timestamp' => $row->timestamp
);
}
return $messages;
}
下面是我的控制器中的代码:
$result = $this->inbox_m->get_messages($user['id']);
我怎么能返回结果作为一个JSON对象使用PHP的json_encode()
函数?
对于简单的返回,我通常这样做:
json_encode(array('result' => true))
但是这些数组中的数组把我弄糊涂了
编辑
没关系,伙计们,在发帖之前应该先试一下。这很好:
echo json_encode(array('result' => $result));
我会在我的账户允许的一天内关闭这个问题。
json_encode($messages);
在这里应该没问题。调用它并检查输出,看看它是否是您想要的。但是json_encode
应该处理嵌套数组,而不需要流汗。
以自己的回答结束问题。就像在编辑中解释的那样,这工作得很好:
echo json_encode(array('result' => $result));
相关文章:
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 对一个对象使用reduce可以返回一个没有't在数组中包含目标字母
- AngularJS&JSON-从Previous&下一个对象
- jQuery$.inArray()总是返回-1和一个对象数组
- javascript处理一个对象数组以获得一个新的对象数组
- javascript函数,它接受两个输入:一个对象和一个键,并返回对象中该键的相应值
- 你能用来自数组的属性名称生成一个对象吗
- 预期响应包含一个对象,但在angular js中得到一个数组错误
- Protractor:element.getText()返回一个对象,而不是String
- 如何使用jQuery添加另一个对象的高度作为边距
- 计算从一个对象到另一个对象的路径并沿其移动
- 如何将一个对象添加到每个对象数组中
- 为了避免创建全局变量,可以将所有变量分配给一个对象吗
- 将javascript对象(属性+值)合并到一个对象中
- 尝试简化检查对象键是否为true并将其推送到另一个对象
- 从 javascript 中的对象方法返回一个对象
- 响应应包含一个对象,但得到的却是GET操作的数组
- js:如何制作一个循环,将20个不同的东西添加到一个对象中
- 用javascript创建另一个对象的实例