所以我有一个对象,其中包含数据库中的几行(使用 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/