2010-10-09 71 views
2

所以我有一个包含数据库中几行的对象(使用PHP)。JSON&PHP - 正确建立行

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

例如,我想列出一些用户。我已经做了正确的查询,并呼吁对象$u

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

现在,我是新来的JSON,我试图想在稍后访问行的最简单的方法。对于这个例子,我需要能够访问“名称”,“注册”和“ID”。在使用json_encode();之前,我应该如何构建阵列?

回答

3

像这样的工作不错...

$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)时,它可以提供帮助。