[英]Converting a multi-dimensional php array into a JSON array of objects
我需要在php中創建一個多維數組,並想在jQuery腳本中將其用作對象的JSON數組;
jQuery腳本中所需的輸出應如下所示:
data = [
{ Month:'April', Comms:1000, Fees:200, Gains: 200},
{ Month:'May', Comms:1200, Fees:300, Gains: 300}
]
目前,我的php數組生成如下:
$data1[] = array(
'Month' => 'April',
'Comms' => 1000,
'Fees' => 200,
'Gains' => 200
);
$data2[] = array(
'Month' => 'May',
'Comms' => 1200,
'Fees' => 300,
'Gains' => 300
);
echo json_encode($data);
我的問題是如何將data1和data2合並到json_encode php函數中的數據數組中,該函數將生成所需的jQuery JSON對象數組?
我確實具有不同數組字段的值,並且可以以不同的方式創建data1和data2,因此數據很靈活,我可以通過任何其他方式組合它們,從而生成數據數組,並以所需的JSON格式輸出它們。
任何幫助將不勝感激,我已經看到有關此主題的問題,但沒有一個解決我所面臨的問題。
只是:
echo json_encode($data1 + $data2);
請注意,您也可以使用+
合並數組。
嘗試:
echo json_encode(array_merge($data1, $data2));
寫:
echo json_encode($data1 + $data2);
您需要將兩個數組合並為一個新的數組。 有關更多信息,請參見手冊 。
$data = array_merge($data1, $data2);
echo json_encode($data)
或者,更簡單地使用+
運算符:
echo json_encode($data1 + $data2)
只是用戶
echo json_encode($data1 + $data2);
您應該通過使用groupBy個月從數據庫中提取數據來制作另一個陣列,並將數據存儲在其他陣列中。
$array = array();
foreach ($data as $element) {
$array[$element['month']][] = [ 'comms' => $element['comms'], 'fees' => $element['fees'], 'gains' => $element['gains']
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.