【问题标题】:JSON & PHP - Building up the rows correctlyJSON 和 PHP - 正确构建行
【发布时间】:2011-04-23 03:40:15
【问题描述】:

所以我有一个对象,其中包含来自数据库的多行(使用 PHP)。

我应该如何将它们组织成一个数组来传递 JSON?

例如,假设我想列出一些用户。我已经完成了正确的查询,并且有一个名为 $u

的对象
foreach($u as $user)
    {
        $rows['name'] = $user->firstname . $user->lastname;
    }

现在我是 JSON 新手,我正在尝试考虑以后访问行的最简单方法。对于这个例子,我需要能够访问“name”、“registered”和“id”。在使用json_encode();之前应该如何构建数组?

【问题讨论】:

    标签: php jquery json codeigniter


    【解决方案1】:

    这样的东西会很好用......

    $users = array(
        array(
                'name' => 'bob',
                'registered' => TRUE,
                'id' => $id
            ), ...
    );
    
    header('Content-Type: application/json');
    echo json_encode($users);
    

    (显然是替换变量和字符串)。

    这是一些示例输出...

    [{"name":"bob","registered":true,"id":7}]
    

    作为you can see,它是一个JavaScript对象,是数组的第一个成员。

    如果您的库发送 XHR 标头(jQuery 发送),那么您也可以检查

    ($_SERVER['X_HTTP_REQUESTED_WITH'] === 'XMLHttpRequest')
    

    您可能还需要确保标头存在于isset()array_key_exists()。检查此标头不是必需的,但是当可以使用 AJAX 请求文件或明确请求文件并相应地提供不同的视图(JSON 或 HTML)时,它会有所帮助。

    【讨论】:

      猜你喜欢
      • 2015-02-12
      • 2020-10-13
      • 1970-01-01
      • 1970-01-01
      • 2014-03-24
      • 2020-08-11
      • 1970-01-01
      • 2015-03-19
      • 1970-01-01
      相关资源
      最近更新 更多