我想在Yii 2下拉列表中使用foreach创建关联数组。 我的目标是使用foreach制作数组如下 -
$array= [
['id' => '123', 'name' => 'abc'],
['id' => '124', 'name' => 'def'],
];
然后我想使用Yii 2 ArrayHelper :: map()。
$result = ArrayHelper::map($array, 'id', 'name');
如何使用foreach制作数组?
答案 0 :(得分:2)
使用ArrayHelper::map()
建立项目下拉列表的方式完全如您所述:
$items = ArrayHelper::map($array, 'id', 'name');
您无需在此处使用foreach
,只需将ActiveQuery
的结果作为数组传递:
$array = YourModel::find()->all();
<强>更新强>
感谢。但在这里,我实际上在为'name'计算自定义值 因此我想用foreach生成数组 计算
您需要将此信息添加到问题中,但无论如何,您也可以使用ArrayHelper
。看看toArray
方法。它可以用于对象/对象数组。使用此方法处理后,您可以使用map
。
官方文档: