2015-04-18 42 views
1

$ ext是一個數組PHP - 定義序列號

$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

現在發生的事情是,每次迭代$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; 
+0

感謝回答這麼快:d –

+0

@KaziLotus是的,你可以只添加連接運算符追加每個字符串放入它中,而不是每次迭代覆蓋它 – Ghost

1

使用

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