我需要使用php FOR循环显示带有十进制数字的选择框。参见下面的代码:
<select class="form-control" name="delayTime" title="Choose animation delay time..." data-toggle="tooltip" required>
<?php
for ($x = 0.1; $x <= 10.1; $x=$x+0.1) {
if($x == $updateEntry->delayTime){
echo '<option value="' .$x.'" selected>'.$x.'s</option>';
}
echo '<option value="' .$x.'">'.$x.'s</option>'.PHP_EOL;
}
?>
</select>
此循环将一直持续到到达第10位。
是否可以在php中循环十进制数字?
如果可能,任何人都可以检查以下不起作用的代码。一世 从数据库中获取数据,我使用了条件语句 选择并显示在选择框中选择的现有记录:
<?php foreach (range(0.1, 10, 0.1) as $val) { $selected = ($val == $updateEntry->delayTime) ? "selected": ""; echo '<option value="' . $val . '" '.$selected.'>' . $val . 's</option>'; } ?>
最后,我找到了通过在foreach循环中使用range来解决此问题的方法。见下文:
df = pd.read_json(path_or_buf="file_path\json.txt", typ='frame')
答案 0 :(得分:4)
简单的range
:
// first `0.1` - start value, `10` - end value, second `0.1` - step
foreach (range(0.1, 10, 0.1) as $val) {
echo '<option value="' . $val . '">' . $val . 's</option>';
}
答案 1 :(得分:3)
您可以通过多种方式执行此操作。例如,使用for()
循环。从0.1
开始,一直到10
,然后逐步增加0.1
range()
也是一个不错的选择,但是您必须使用foreach()
<?php
echo '<select name="animationDelayTime">';
for ($x = 0.1; $x <= 10; $x=$x+0.1) {
echo '<option value="' .$x.'">'.$x.'s</option>'.PHP_EOL;
}
echo '</select>';
?>
编辑:根据新的要求更改。在这里,我只是假设$updateEntry->delayTime
的值为 0.5 。您可以在从数据库中获取它时使用它。
<select class="form-control" name="delayTime" title="Choose animation delay time..." data-toggle="tooltip" required>
<?php
//$selected = '';
for ($x = 0.1; $x <= 10.1; $x=$x+0.1) {
$selected = ($x == 0.5) ? "selected": "";
echo '<option value="' .$x.'" '.$selected.'>'.$x.'s</option>'.PHP_EOL;
}
?>
</select>
答案 2 :(得分:2)
您可以使用While循环:
// Initialize the variable
$val = 0.1;
// Loop until the value is less than or equal to 10
while ($val <= 10) {
// generate the string using $val
echo '<option value="' . $val . '">' . $val . 's</option>';
// Increment the value by 0.1 for next iteration
$val += 0.1;
}
答案 3 :(得分:0)
尝试一下
For( $x = 0 ; $x < 1.4; $x += 0.1){
echo "<option value='$x'>".$x."s</option>";
}