2017-10-10 50 views
-1

我想打印這樣的數據使用php json_encode 那麼php代碼如何使用java腳本代碼輸出這些數據。如何使用php打印數據數組json_encode

var data = [{ 
"name": "test", 
    "calories": "1000", 
    "fat": "100", 
    "protein": "100", 
    "carbohydrates": "800", 
}, { 
"name": "test2", 
    "calories": "10000", 
    "fat": "343", 
    "protein": "3434", 
    "carbohydrates": "4343", 
}]; 

我試試這個php代碼,但數據輸出不像我想要的。

<?PHP 
$RESULT = array(); 

for($x=0;$x<=4;$x++){ 
    $RESULT["data"]["name"][] = "Name" . $x; 
    $RESULT["data"]["calories"][] = "calories" . $x; 
    $RESULT["data"]["fat"][] = "fat" . $x; 
    $RESULT["data"]["protein"][] = "protein" . $x; 
    $RESULT["data"]["carbohydrates"][] = "carbohydrates" . $x; 
} 

echo $_GET['callback']."(".json_encode($RESULT).");"; 
?> 

我想json_encode打印數據,如第一個代碼。

+0

你嘗試'json_encode($結果,JSON_PRETTY_PRINT)'爲p打印?有什麼問題? – styfle

+0

你剛剛解決了你的問題''json_encode' – Akintunde007

+0

執行'print_r($ RESULT)',你會看到你有什麼......這裏有多個錯誤 – Devon

回答

1

我不知道您打算如何使用它,或者你與$_GET['callback']做什麼,但主要的問題是,你需要追加下一個新的數組元素data下:

for($x=0;$x<=4;$x++){ 
    $RESULT["data"][$x]["name"] = "Name" . $x; 
    $RESULT["data"][$x]["calories"] = "calories" . $x; 
    $RESULT["data"][$x]["fat"] = "fat" . $x; 
    $RESULT["data"][$x]["protein"] = "protein" . $x; 
    $RESULT["data"][$x]["carbohydrates"] = "carbohydrates" . $x; 
} 
echo json_encode($RESULT, JSON_PRETTY_PRINT); 

所以:

$RESULT["data"][$x]["name"] 

不:

$RESULT["data"]["name"][] 
+0

謝謝我更改爲$ RESULT [$ x] [「name」]並正在工作。 – KHALID

+0

如果解決了問題,請標記爲已接受。 – AbraCadaver