【问题标题】:How to create this array structure in PHP如何在 PHP 中创建这个数组结构
【发布时间】:2017-02-03 04:55:13
【问题描述】:

我正在尝试创建一个数组结构,就像在这里找到的初始结构一样:D3 JSON data conversion

我的看起来像下面这样,是动态的,然后被传递给 json_encode() 以创建一个 json 对象。

[
  { "name": "Table1", "lab": "name1", "cell": "c1", "avg": avgUsage1},
  { "name": "Table1", "lab": "name2", "cell": "c2", "avg": avgUsage2},
  { "name": "Table1", "lab": "name3", "cell": "c3", "avg": avgUsage3},
  { "name": "Table1", "lab": "name4", "cell": "c4", "avg": avgUsage4},
  { "name": "Table1", "lab": "name5", "cell": "c5", "avg": avgUsage5} ...
]

问题是我不能有一个具有相同键值的数组。这个数据结构是什么,我怎样才能创建类似的东西然后创建一个嵌套结构(我将按照链接的帖子创建嵌套结构)?

【问题讨论】:

    标签: javascript php d3.js


    【解决方案1】:

    不知道为什么你认为会有相同的键。您将在 php 中有一个多维数组,如下所示:

    $arr = array(
        array( "name"=> "Table1", "lab"=> "name1", "cell"=> "c1", "avg"=>$avgUsage1),
        array( "name"=> "Table2", "lab"=> "name2", "cell"=> "c2", "avg"=>$avgUsage2),
        //....
    );
    

    或者每个元素也可以是stdClass 对象

    【讨论】:

    • 是否可以在“avg”字段中添加多个mysql表值与avg一起显示?类似于:Value1,Value2..... AVG(Values)?
    • 就是这样......它用于 d3 可视化。每个巢都意味着不同的东西。 stackoverflow.com/questions/19317115/… 所以不是这个:{“dep”:“First Top”,“name”:“First child”,“model”:“value1”,“size”:“320”},我正在寻找这个: {"lab": "labname", "cell", "cell_name", "usage": Week1, Week2, Week3, Week4, Week5, Avg( Week1 + Week2 + Week3 + Week4 + Week5) }.
    • 这不是一个有效的 javascript 结构。另请注意,这也不是您提出的问题
    • 我是这么认为的。我会看看我是否可以将这些值连接为字符串或其他东西。感谢您的帮助。
    【解决方案2】:

    你可以这样初始化它:

    $arrayJSON = array(
        array(
            "name" => "Table1",
            "lab" => "name1",
            "cell" => "c1",
            "avg" => "avgUsage1"
        ),
        array(
        ....
        )
    );
    

    您还可以创建一个类实例数组。

    【讨论】:

    猜你喜欢
    • 2012-09-15
    • 2014-03-23
    • 1970-01-01
    • 2017-03-17
    • 2016-02-18
    • 1970-01-01
    • 2021-12-31
    • 2012-05-15
    相关资源
    最近更新 更多