Я пытаюсь создать функцию PHP, которая генерирует код для Bootstrap 4 раскрывающегося списка ввода формы. Данные считываются из файла JSON и с использованием for для l oop каждая строка добавляется к строковой переменной. Я использую '$ json_obj = json_decode (' file_name. json ', true)' для чтения данных.
Пример JSON input :::
[{
"name": "Peter",
"user_name": "ughcsa484"
},
{
"name": "Sam",
"user_name": "ss648"
},
{
"name": "John",
"user_name": "7eddc4c"
},
{
"name": "Helen",
"user_name": "thec7841"
}]
Код: ::
$output = '<select class="custom-select" id="'.$element.'">';
$output = $output . '<option selected value="999">Select...</option>';
for($i=0;$i<sizeof($json_obj);$i++)
{
echo($i.' - '.$json_obj[$i]["name"]);
$output = $output . '<option value="'.$i.'">'.$json_obj[$i]["name"].'</option>';
}
$output = $output . '</select>';
Строка, добавляемая внутри для l oop, работает только один раз. Но for l oop работает нормально, и функция 'echo' внутри for for l oop также печатает все строки.
Распечатка из функции 'echo' внутри для l oop :::
0 - Peter
1 - Sam
2 - John
3 - Helen
Параметр доступен в раскрывающемся списке :::
Select...
Peter
Примечание ::: Сгенерированный код HTML сохраняется как строковое значение в переменной PHP $ вывод. Поскольку это функция, строка возвращается обратно и распечатывается в главном файле с помощью 'echo'.
HTML сгенерированный код :::
<select class="custom-select" id="element">
<option selected value="999">Select...</option>
<option value="0">Peter</option>
</select>
Обязательно HTML код :::
<select class="custom-select" id="element">
<option selected value="999">Select...</option>
<option value="0">Peter</option>
<option value="1">Sam</option>
<option value="2">John</option>
<option value="3">Helen</option>
</select>