0

我需要在 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 格式输出它们.

任何帮助将不胜感激,我已经看到有关此主题的问题,但没有一个可以解决我面临的问题。

4

6 回答 6

2

简单地:

echo json_encode($data1 + $data2);

请注意,您还可以使用+来合并数组。

于 2012-07-19T10:21:51.107 回答
1

尝试 :

echo json_encode(array_merge($data1, $data2));
于 2012-07-19T10:21:12.300 回答
1

写:

echo json_encode($data1 + $data2);
于 2012-07-19T10:22:13.780 回答
1

您需要将两个数组合并到一个新的数组数组中。有关详细信息,请参阅手册

$data = array_merge($data1, $data2);
echo json_encode($data)

或者,更简单地使用+运算符:

echo json_encode($data1 + $data2)
于 2012-07-19T10:24:22.687 回答
0

只是用户

echo json_encode($data1 + $data2);
于 2012-07-19T10:27:09.137 回答
0

您应该通过使用 groupBy 月份从数据库中提取数据来创建另一个数组,并将数据存储在其他数组中。

$array = array();  
foreach ($data as $element) {
    $array[$element['month']][] = [ 'comms' => $element['comms'], 'fees' => $element['fees'], 'gains' => $element['gains']
}
于 2015-03-22T10:00:22.883 回答