如何在另一个数组中添加一个数组?

时间:2018-08-08 16:19:51

标签: php arrays json yii2

我有这个JSON数组:

[
  {
    "id": 101,
    "name": "White"
  },
  {
    "id": 102,
    "name": "Black"
  }
]

它是由我的**actionIndex()**函数和 Yii2 Framework 生成的:

public function actionIndex()
{
    Yii::$app->response->format = Response::FORMAT_JSON;
    $colors = Colors::find()
        ->select([
            'id',
            'name'
        ])
        ->asArray()
        ->all();

    return $colors;
}

我需要向数组添加一些文本。结果必须是这样的:

{
  "error": false,
  "error_message": null,
  "data": [
    {
      "id": 101,
      "name": "White"
    },
    {
      "id": 102,
      "name": "Black"
    }
  ]
}

我尝试使用array_push函数,但不起作用:

$father = [];
array_push($father, $colors);

1 个答案:

答案 0 :(得分:0)

这可以解决您的问题:

public function actionIndex()
{
    Yii::$app->response->format = Response::FORMAT_JSON;
    $response = ['error'=>false, 'error_message'=>null];
    $response['data'] = Colors::find()
        ->select([
            'id',
            'name'
        ])
        ->asArray()
        ->all();


    return $response;
}

由于此函数的输出是JSON响应,我们正在从数组中对其进行调整。因此,我已经使用默认值初始化了$ response数组,然后在“ data”索引上分配了颜色数组。因此它将按预期提供欲望结果。