繁体   English   中英

如何将此多维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']);

如何使用PHP的json_encode()函数将结果作为JSON对象返回?

通常我会为简单的回报做这样的事情:

json_encode(array('result' => true))

但是数组中的所有这些数组让我感到困惑。

编辑

没关系,在发布之前应该已经尝试过了。 这很好用:

echo json_encode(array('result' => $result));

如果帐户允许我在一天之内解决问题。

json_encode($messages); 这里应该很好。 调用它并检查输出以查看是否正是您想要的。 但是json_encode应该处理嵌套数组而不会费力。

通过自己回答来结束问题。 就像编辑中解释的那样,它可以正常工作:

echo json_encode(array('result' => $result));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM