php - 定义序列号

时间:2015-04-18 03:34:41

标签: php html arrays for-loop sequence

$ 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

的结果

2 个答案:

答案 0 :(得分:2)

现在发生的事情是每次迭代$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;

答案 1 :(得分:1)

使用

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