Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在yii2中分解后更改数组值_Php_Html_Yii2_Explode - Fatal编程技术网

Php 在yii2中分解后更改数组值

Php 在yii2中分解后更改数组值,php,html,yii2,explode,Php,Html,Yii2,Explode,我有一个关于爆炸后插入数据的问题。在这个gridview列中,我将函数的值如下: [ 'attribute' => 'CONNECTOR_ACTION', 'value' => function($model){ $apps = \app\models\APPLICATION::find() ->where(['ID' => $model->ID_APPLICATIO

我有一个关于爆炸后插入数据的问题。在这个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'
    ],
<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>
在HTML视图中,如下所示:

    [
        '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'
    ],
<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>

创造
配角
默认角色
去除孔
使残废
使可能
设置密码
如果我想像这样更改下拉列表:

    [
        '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'
    ],
<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
,您需要使用一些遍历逻辑创建键与值相同的数组谢谢您的回答。这是一个线索,我已经解决了我的问题\m/你可以使用jagsler的答案