Как выполнить foreach?

168
08 марта 2019, 03:10

Не могу разобраться с синтаксисом.

Имею следующий код:

$element = '<select name="'.$prefix.'">'.foreach($values as $option) {.'<option value="'.$option['value'].'">Male</option>'.}.'</select>';

Получаю ошибку

An uncaught Exception was encountered Type: ParseError

Message: syntax error, unexpected 'foreach' (T_FOREACH)

Как правильно выполнить foreach?

Answer 1
$element = '<select name="'.$prefix.'">';
foreach($values as $option) {
  $element .= '<option value="'.$option['value'].'">Male</option>';
}
$element .= '</select>';
Answer 2

Если очень надо именно сохранить результат в переменную, то можно ещё таким способом (но это затрудняет чтение):

$element = '<select name="'. $prefix .'">'. join(array_map(function($a){ return '<option value="' . $a['value'] . '">Male ' . $a['value'] . '</option>'; }, $values)) . '</select>';
READ ALSO
Новый аттрибут в объекте yii2

Новый аттрибут в объекте yii2

Как в yii2 задать новый аттрибут для объекта модели?

131
Как создать проект с QtWebEngine?

Как создать проект с QtWebEngine?

Да, вопрос глупый наверное

149
Как обойти в цикле все QCheckBox

Как обойти в цикле все QCheckBox

Я добавил в окно 10 чекбоксов в режиме дизайнераЭто объекты checkbox1,checkbox2,

137
Отличия передачи указателя на функцию в функцию

Отличия передачи указателя на функцию в функцию

В чем разница двух этих конструкций

159