php - JSON 和 PHP - 正确构建行

标签 php jquery json codeigniter

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

我应该如何将它们组织成数组以通过 JSON 传递?

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

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

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

最佳答案

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

$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 header (jQuery 会发送),那么您还可以检查

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

您可能还想通过 isset()array_key_exists() 确保 header 存在。检查此 header 不是必需的,但当可以使用 AJAX 请求文件或直接请求文件并相应地提供不同的 View (JSON 或 HTML)时,它会有所帮助。

关于php - JSON 和 PHP - 正确构建行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3895217/

相关文章:

javascript - jQuery 的 .css() 方法实际上是 CSS 吗?

json - 动态 JSON 解码 Swift 4

使用 FsPickler 对可选值进行 JSON 序列化

php - redirect() 在 URI 段前添加一个问号

javascript - 滚动上的停靠菜单 - 可能需要 JavaScript

php - 通过 PHP mysql PDO 根据下拉列表选择的值更新表

javascript - 展开/折叠 jquery 中的所有列表

json - sendFile 表达返回特殊字符

php - 允许用户删除个人资料信息

php - 自动将 Voter 应用到 Controller 中的多种方法