$ ext это массив
$noofformats = count($data['formats']);
for($x = 0; $x < $noofformats; $x++){
echo $select = "<option value=\"" . $x . "\">" . $ext[$x] . "</option>";
}
Когда я запускаю этот скрипт, я получаю желаемый результат. Результат 1:
<option value="0">webm</option><option value="1">m4a</option> and so on.....
Это работает, потому что выводит результат каждый раз при запуске, поэтому я получаю строку с каждым возможным значением $ noofformat. Но я хочу определить $ select как результат, показанный выше. Что происходит каждый раз, когда функция зацикливается, определяется новый результат, а не добавляется к предыдущему значению, что приводит только к последнему значению
<option value="33">mp4</option>
хотелось бы
echo $select;
чтобы дать результат, как результат 1
Что происходит сейчас, так это то, что каждая итерация $select
перезаписывается Вы можете непрерывно объединять сначала строку разметки, а затем, наконец, эхо:
$noofformats = count($data['formats']);
for($x = 0; $x < $noofformats; $x++){
$select .= "<option value=\"" . $x . "\">" . $ext[$x] . "</option>";
// ^ continually concatenate values while the loop is running
}
echo $select;
использование
$noofformats = count($data['formats']);
for($x = 0; $x < $noofformats; $x++){
echo $select .= "<option value=\"" . $x . "\">" . $ext[$x] . "</option>";
}