4

高さのドロップダウンを表示しており、内容はフロート値です。このドロップダウンを編集フォームに表示すると、選択した高さの古い値が表示されません。

4、4.1、4.2 ....6.10、6.11、7などの値を持つドロップダウンで選択された5.6フィートの高さの値を表示したい.

以下は私が使用したコードです

<select name="height">
    <?php for($height=(4.0); $height <= 7; $height=($height+0.1) ): ?>
        <option value='<?php echo $height;?>' <?php if((5.6) == ($height)) echo "selected=selected"; ?> ><?php echo $height;?> ft</option>
    <?php endfor;?>                     
</select>

この問題の解決策を知っている人はいますか? 助けてください。

4

2 に答える 2

1

PHP で浮動小数点数を比較するのは非常に面倒です。この問題の解決策は、代わりに次の比較を行うことです5.6 == $height

abs(5.6-$height) < 0.1

これにより、true5.6 およびfalse問題の他の値が得られます。

完全なソリューション:

<select name="height">
    <?php for($height=(4.0); $height <= 7; $height=($height+0.1) ): ?>
        <option value='<?php echo $height;?>' <?php if(abs(5.6-$height) < 0.1) echo "selected=selected"; ?> ><?php echo $height;?> ft</option>
    <?php endfor;?>                     
</select>
于 2013-09-27T09:05:49.950 に答える