在一种情况下,由于PHP代码,网关关闭

在一种情况下,由于PHP代码,网关关闭,php,html,Php,Html,以下是HTML/PHP代码: <div class="col-sm-6"> <div class="form-group"> <select id="horseSize" name="horseSize" class="form-control" > <option value="<?php echo htmlspecialchars($horseSize); ?>" selected><?ph

以下是HTML/PHP代码:

<div class="col-sm-6">
   <div class="form-group">
      <select id="horseSize" name="horseSize" class="form-control" >
         <option value="<?php echo htmlspecialchars($horseSize); ?>" selected><?php echo htmlspecialchars($horseSize); ?> m</option>
            <?php
               $i = 0.50;
               while($i <= 2.00){
                  if ($i != $horseSize){
            ?>
                     <option value="<?php echo htmlspecialchars(number_format($i, 2)) ; ?>"><?php echo htmlspecialchars(number_format($i, 2)) ; ?> m</option>
            <?php
                     $i = $i + 0.01;
                  }
               }
            ?>
      </select>
   </div>
</div>
$horseSize来自一个SQL查询,可以正常工作。第四个问题是显示网页

当我试图显示此网页时,我的网站因网关未给出答案而关闭。这仅在一种情况下触发:$HORSESSIZE的变量值小于1。好像不可能显示0之类的内容


也许我在这段代码中做了一些错误,但我尝试了很多次来修复它,但我无法达到它。

只有在if条件下,您才增加$I,所以像0.50这样的值永远不会增加。此外,浮点比较也不起作用。请阅读:


你的循环显然是无限运行的。事实上,$i被增加到if条件中。非常感谢你。
<div class="col-sm-6">
   <div class="form-group">
      <select id="horseSize" name="horseSize" class="form-control" >
         <option value="<?php echo htmlspecialchars($horseSize); ?>" selected><?php echo htmlspecialchars($horseSize); ?> m</option>
            <?php
               $i = 0.50;
               $precision = 0.00001;
               while($i <= 2.00){
                if(abs($i-$horseSize) > $precision) {
            ?>
                     <option value="<?php echo htmlspecialchars(number_format($i, 2)) ; ?>"><?php echo htmlspecialchars(number_format($i, 2)) ; ?> m</option>
            <?php
                     $i = $i + 0.01;
                  } else {
                    $i = $i + 0.01;
                  }
               }
            ?>
      </select>
   </div>
</div>