2010-10-09 113 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)時,它可以提供幫助。