Как установить атрибуты тега <select>из ассоциативного массива php? - PullRequest
0 голосов
/ 10 июля 2019

Как установить атрибуты тега <select> из ассоциативного массива динамически?

Мне нужно отправить пользовательские атрибуты из массива и проверить, передается ли имя как ключ из массива.

Например, массив:

$custom_attr = array("id"=>"year1","name"=>"year","class"=>"dp year form-control")

Создание <select> тега типа:

<select id="year1" name="year" class="dp year form-control">
.
.
.
</select>

Есть идеи о том, как его реализовать?Спасибо.

Ответы [ 2 ]

1 голос
/ 11 июля 2019

Простое решение будет:

$result="<select ";
foreach($custom_attr as $key => $value){
    $result.=$key.' = "'.$value.'" ';
}
$result.=">";
0 голосов
/ 11 июля 2019

Насколько я знаю, легкого пути не существует.Вот более элегантный подход:

function getTag($tag, $attributes) {
    array_walk($attributes, function(&$val, $key) { $val = "$key='".htmlentities($val)."'"; });
    $attributes = implode(' ', $attributes);
    return "<$tag $attributes>";
}

echo getTag('select', array("id"=>"year1", "name"=>"year", "class"=>"dp year form-control"));
...