Создать функцию возвращающую select

Сделайте функцию, которая будет создавать селект. Функция должна принимать многомерный массив такого типа:

`$arr = [
    ['value'=>'php', 'text'=>'Язык PHP'],
    ['value'=>'html', 'text'=>'Язык HTML'],
    ['value'=>'css', 'text'=>'Язык CSS'],
    ['value'=>'javascript', 'text'=>'Язык Javascript']
];`




function select($arr) {
    return  "<select>"
                foreach($arr as $elem) {
                    "<option value='$elem[value]'>$elem[text]</option>"
                }
            "</select>";
}

echo select($arr);

Я не пойму как совместить php и html.


Ответы (1 шт):

Автор решения: Simon

Если нужно именно возвращать, то можно сделать вот так:

function select($arr) {
    $options = '';
    foreach($arr as $elem) {
        $options .= '<option value="'.htmlspecialchars($elem["value"]).'">';
        $options .= htmlspecialchars($elem[text]).'</option>';
    }
    
    return  "<select>$options</select>";
}

Если нужно сразу вывести, то можно такой вариант:

function select($arr) {
    ?>
    <select>
        <?php foreach($arr as $elem) : ?>
            <option value="<?= htmlspecialchars($elem["value"]) ?>">
                <?= htmlspecialchars($elem["text"]) ?>
            </option>
        <?php endforeach ?>
    </select>
    <?php
}
→ Ссылка