html — определить порядковые номера

$ 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

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;
2

Другие решения

использование

$noofformats = count($data['formats']);
for($x = 0; $x < $noofformats; $x++){
echo $select .= "<option value=\"" . $x . "\">" . $ext[$x] . "</option>";
}
1

По вопросам рекламы [email protected]