当变量相等时,我的for循环为真 为什么我只使用“小于”?
我有一个从mysql打印日期的while循环
$ today_nr是存储在db中的一天。例如:02
现在我想要一个for循环来打印缺少的日期
例如:01,02,03。如果mysql中的第一个记录是04.
所以我用它来循环。但它会回显来自mysql($ today_nr)的“01”和来自$ i
的“1”PHP
$today_nr = $date->format('d');
$i = 1;
for(;$i < $today_nr; $i++){
echo $i;
}
完整脚本
打印 for循环在while循环打印01后打印1。
01 Ons 04:41 13:10 0.50 7.97 -0.03 1.32
1
02 Tor 04:40 13:18 0.50 8.13 0.13 1.33
2
3
4
5
6
07 Tis 04:41 12:58 0.50 7.77 -0.23 1.32
7
08 Ons 04:43 13:08 0.50 7.92 -0.08 1.28
答案 0 :(得分:1)
这与你所说的不同,在我的情况下,下面的代码与你提供的问题完美无关 它按预期工作:
<?php
$today_date = date('d', time());
// $today_nr = $date->format('d');
$i = 1;
for(;$i < $today_date; $i++){
echo $i; // result: 12345678910111213141516171819
}
答案 1 :(得分:0)
<强> PHP 强>
//Loop out dates missing in db
//If $i is bigger than today nr
if($i > $today_nr){
$i = $today_nr;
}
//Loop out missing days
for(;$today_nr != $i;){
//Set data about day
$iDate = $year."-".$selected_month."-".$i;
$iDate = new DateTime($iDate);
$iDay = $iDate->format('D');
//Translate iDay. Eng - Swe
include('../../../include/translate_days_iDay.php');
//Echo out table
echo "<tr>";
echo "<td class='print_table_text'>".$iDate->format('W')."</td>";
echo "<td class='print_table_text'>".$iDate->format('d')." ".$iDay."</td>";
echo "</tr>";
//Add to i
$i++;
//if i is bigger than a month
if($i > $days_in_month){
break;
}
}
//If today and i is equal
if($today_nr == $i){
$i++;
}