在 yii2 中爆炸后更改数组值

change array values after explode in yii2

我在爆炸后插入数据时遇到问题。在此 gridview 列中,我将函数放入值中,如下所示:

    [
        'attribute' => 'CONNECTOR_ACTION',
        'value' => function($model){
             $apps = \app\models\APPLICATION::find()
                 ->where(['ID' => $model->ID_APPLICATION])
                 ->one();
             $options = $apps['CONNECTOR_PARAM'];
             $optionsArr = explode(', ', $options);
             return Html::activeDropDownList($model, 'CONNECTOR_ACTION', $optionsArr, ['class'=>'form-control', 'disabled' => true]);
        },
                            'format' => 'raw'
    ],

并且在 HTML 视图中是这样的:

<td>
    <select id="requestapplication-connector_action" class="form-control" name="REQUESTAPPLICATION[CONNECTOR_ACTION]" disabled>
        <option value="0">create</option>
        <option value="1">addrole</option>
        <option value="2">defaultrole</option>
        <option value="3">removerole</option>
        <option value="4" selected>disable</option>
        <option value="5">enable</option>
        <option value="6">setpassword</option>
    </select>
</td>

如果我想像这样更改下拉菜单:

<td>
    <select id="requestapplication-connector_action" class="form-control" name="REQUESTAPPLICATION[CONNECTOR_ACTION]" disabled>
        <option value="create">create</option>
        <option value="addrole">addrole</option>
        <option value="defaultrole">defaultrole</option>
        <option value="removerole">removerole</option>
        <option value="disable" selected>disable</option>
        <option value="enable">enable</option>
        <option value="6">setpassword</option>
    </select>
</td>

我该怎么做?

这是因为$optionsArr的键是0-6而不是值。要组合它,请将键设置为与值相同。

$combined = array_combine($optionsArr, $optionsArr);

然后在Html::activeDropdownList()

中使用$combined