代码之家  ›  专栏  ›  技术社区  ›  Jimmy

根据if命令将数组插入另一个数组-将其放置在错误的位置

  •  0
  • Jimmy  · 技术社区  · 7 年前

    我有一个数组:

    $arr = array(
        'reportDescription' => array(
            'reportSuiteID' => 'globretailprod',
            'elements' => array(
                0 => array(
                    'id' => $queryElement
                )
            ),
            'metrics' => array(
                0 => array(
                    'id' => $queryMetric
                )
            )
        )
    );
    

    我正在尝试使用if命令向数组中插入一些代码。这就是我所拥有的:

    if (isset($querySegment)) {
        $arr['reportDescription']['segments'] = $querySegment;
    }
    

    {
                    "reportDescription": {
                                    "reportSuiteID": "rbsglobretailprod",
                                    "dateFrom": "2018-09-09",
                                    "dateTo": "2018-09-10",
                                    "dateGranularity": "day",
                                    "metrics": [{
                                                    "id": "pageviews"
                                    }],
                                    "elements": [{
                                                    "id": "page"
                                    }],
                                    "segments": [{
                                                    "id": "jjj"
                                    }]
                    }
    }
    

    注意这有两个问题。首先,段不是用id插入的,它只是作为一个值插入。其次,我有点担心原始数组中度量值后面的逗号,因为如果我确实包含段,我需要能够在度量值数组后面添加逗号。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Nigel Ren    7 年前

    只需使用与其他项相同的格式即可获得相同的结构。。。

    if (isset($querySegment)) {
        $arr['reportDescription']['segments'] = array(
                0 => array(
                    'id' => $querySegment
                )
            );
    }
    

    json_encode()