for($i = 5.0; $i < 7.0; $i++) {
echo $i.'<br />';
}
输出:
5
6
我想输出:
5.0
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
5.11
6.0
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
6.10
6.11
如何做到这一点?
for($i = 5.0; $i < 7.0; $i++) {
echo $i.'<br />';
}
输出:
5
6
我想输出:
5.0
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
5.11
6.0
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
6.10
6.11
如何做到这一点?
你基本上有两个循环:一个从5到6,一个从1到12(在第一个里面)。这意味着
for($i = 5; $i < 7; ++$i) {
for($j = 0; $j < 13; ++$i) {
echo $i.'.'.$j.'<br>';
}
}
以上是希望容易理解。您可以采取的下一步是将其视为真正的一个循环,该循环重复26次,并且其值会以不同方式影响两个变量 - 就像一天中有1440分钟一样,而此循环有1440次迭代以不同方式影响挂钟的分钟和小时针。因此,这是相当于上面:
for($i = 0; $i < 26; ++$i) {
$x = 5 + floor($i/13); // starts from 5, increases by 1 every 13 iterations
$y = $i % 13; // starts from 0, increases to 12 then loops back to 0 etc.
echo $x.'.'.$y.'<br>';
}
最后,您可以只需添加5 * 13 = 65到循环的开始和结束值移动5 +
外循环:
for($i = 65; $i < 91; ++$i) {
$x = floor($i/13);
$y = $i % 13;
echo $x.'.'.$y.'<br>';
}
使用的外环5至6个计数,并且从0到12
for ($i = 65; $i<91; $i++)
{
printf('%d.%d<br />', $i/13, $i % 13);
}
这个'%d'技巧的分区结果让我有一段时间了。很好的解决方案,但不容易消化。 – Jon
内环计数试试:
for($i = 5.0; $i < 7.0; $i++) {
for ($j = 0; $j < 12; $j++) {
echo $i.".".$j.'<br />';
}
}
也许这将帮助
for($i = 5; $i < 7; $i++) {
for($j = 0; $i < 13; $j++) {
echo $i.'.'.$j.'<br />';
}
}
for((float)$i = 0; $i < 1 ;){
$i = $i+ 0.01;
echo $i;
echo "<br />";
}
你可以使用..
我只是用一个循环中循环。 – jeroen
5.12之后为什么会变为6.0?这与小数有什么关系? – Gordon
@Gordon这实际上是用户选择高度的下拉列表,有一个拼写错误,我打算在5.11之后写入6.0,因为小数表示英寸。 – TK123