Php 在yii2中分解后更改数组值
我有一个关于爆炸后插入数据的问题。在这个gridview列中,我将函数的值如下: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
[
'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的答案