YII2 在 arrayhelper::map() 制作的数组中插入一些东西

YII2 Insert something in array made by arrayhelper::map()

如何向现有数组插入或推送内容?

我有这个代码...

$brgys=ArrayHelper::map(LibBrgy::find()
->where(['city_code'=>$model->city_code])
->all(),'brgy_code','brgy_name'); 

结果是..

array(4) {
[166816001]=> string(7) "BAGYANG" 
[166816002]=> string(5) "BARAS" 
[166816003]=> string(8) "BITAUGAN" 
[166816004]=> string(7) "BOLHOON" 
}

如何添加一个空值使其像下面这样...

array(4) {
[166816001]=> string(7) "BAGYANG" 
[166816002]=> string(5) "BARAS" 
[166816003]=> string(8) "BITAUGAN" 
[166816004]=> string(7) "BOLHOON"
['']=>""
}

所以在 html 表格中我会有这个..

<select id="tblspbub-brgy_code" class="form-control" name="TblSpBub[brgy_code]">
<option value="166816001">BAGYANG</option>
<option value="166816002">BARAS</option>
<option value="166816003">BITAUGAN</option>
<option value="166816004">BOLHOON</option>
<option value=""></option>
</select>

无需修改数组即可实现。

下拉列表有专门的选项 prompt

<?= $form->field($model, 'code')->dropDownList($items, ['prompt' => '']) ?>

它会在给定的 name.

中渲染额外的 option 和空 value in select

您可以阅读有关 here 的更多信息。