簡體   English   中英

將多維php數組轉換為對象的JSON數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM