我有一個簡單的php循環;點在PHP中輸入逗號時將範圍循環結果放入HTML時選擇下拉列表選項
$array = range(1.00, 1.50, 0.01); foreach ($array as $result)
現在結果總是爲1.1,1.01,1.02,1.03上升到我需要的1.50。但我必須把結果放在一個HTML Select as Values中。
這就是我得到的選擇值;
<select name="discount">
<option value="0">No</option>
<option value="1">1</option>
<option value="1,01">1,01</option>
<option value="1,02">1,02</option>
<option value="1,03">1,03</option>
and goes on up to 1,50
正如你所看到的問題是用逗號。 PHP在1之後返回DOT,但當它在選項值和文本內時,它變成COMMAS。
以下是我的代碼和html;
<select name="discount">
<option value="0">No Discount</option>
<?php $array = range(1.00, 1.50, 0.01); foreach ($array as $x) { ?>
<option value="<?php echo $x; ?>"><?php echo $x; ?></option>
<?php } ?>
</select>
可能是什麼原因?在此先感謝
嘗試更改區域設置。看看[localeconv](http://php.net/manual/en/function.localeconv.php)來檢查你當前的設置和[setlocale](http://php.net/manual/en/function。 setlocale.php)來設置它們。 –
有點看起來像範圍函數中的一個bug,DOCS說他們只需要是正數,這些都是,但似乎在使用小數時會怪怪的。咳咳..將步長設爲1,並將值乘以100? :/唉 –
我已經嘗試過你的代碼沒有得到它的問題,它顯示我的價值在點和文本在點都沒有逗號任何地方,檢查你的PHP版本可能是多數民衆贊成在問題 –