2012-05-19 167 views
-1

此:如何输出英尺和英寸?

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 

如何做到这一点?

+0

我只是用一个循环中循环。 – jeroen

+0

5.12之后为什么会变为6.0?这与小数有什么关系? – Gordon

+0

@Gordon这实际上是用户选择高度的下拉列表,有一个拼写错误,我打算在5.11之后写入6.0,因为小数表示英寸。 – TK123

回答

2

你基本上有两个循环:一个从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>'; 
} 
1

使用的外环5至6个计数,并且从0到12

1
for ($i = 65; $i<91; $i++) 
{ 
    printf('%d.%d<br />', $i/13, $i % 13); 
} 
+0

这个'%d'技巧的分区结果让我有一段时间了。很好的解决方案,但不容易消化。 – Jon

0

内环计数试试:

for($i = 5.0; $i < 7.0; $i++) { 
    for ($j = 0; $j < 12; $j++) { 
     echo $i.".".$j.'<br />'; 
    } 
} 
0

也许这将帮助

for($i = 5; $i < 7; $i++) { 
    for($j = 0; $i < 13; $j++) { 
     echo $i.'.'.$j.'<br />'; 
    } 
} 
0
for((float)$i = 0; $i < 1 ;){ 
    $i = $i+ 0.01; 
    echo $i; 
    echo "<br />"; 

} 

你可以使用..

相关问题