Как из foreach передать массив?

Всем привет, не могу передать массив через ссылку? Что я не так делаю!

Мне надо в dropDownList список вкусов, если делаю как внизу
$tastes = ArrayHelper::map(HasProductTaste::find()->where(['product_id' => $model['id']])->all(), 'id', 'taste_id');
                $b = null;
                foreach ($tastes as $key => &$taste) {
                    $title = ProductPit::getTasteTitle($taste);
                    $a = [$key => $title];
                    $b = &$a;
                }


            $form = ActiveForm::begin();
             echo $form->field($mod, 'taste')->dropDownList($b, ['prompt' => 'Выбрать вкус']);
            $form = ActiveForm::end();

То я получаю вот это
[
82 => Шоколад
]


а мне надо так получить чтобы потом запихнуть этот массив в dropDownList
[
84 => 'Фруктовый пунш (Fruit punch)'
85 => 'Клубника (Strawberry)'
86 => 'Orangengeschmack'
87 => 'Strawberry Fit Geschmack'
88 => 'Без вкуса'
89 => 'Кола (Cola)'
90 => 'Лимон (Lemon)'
]


Если это инпут запихнуть в foreach, про дублируется инпуты
aa1a92828f.png
  • Вопрос задан
  • 164 просмотра
Решения вопроса 1
Stalker_RED
@Stalker_RED
$result = [];
foreach ( ... ) {
  ...
  $result[$key] = $value;
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы