我有这个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);
答案 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”索引上分配了颜色数组。因此它将按预期提供欲望结果。