我按照一本试图制作日历的php书。问题是,即使我按照代码写信,我也会遇到麻烦。
这是书中的循环
for ( $i=1, $c=1, $t=date('j'), $m=date('m'), $y=date('Y');
$c<=$this->_daysInMonth; ++$i )
这适用于我从图书网站下载的示例,但不在我的代码中。我不明白这是如何导致除了无限循环之外的任何事情。
修改
这是整个功能,现在它可以工作,但我仍然不明白如何......
$html .= "\n\t<ul>"; // ny liste
for ( $i=1, $c=1, $t=date('j'), $m=date('m'), $y=date('Y'); $c<=$this->_daysInMonth; ++$i) //endless loop legg til ++$c
{
/*
* Apply a "fill" class
*/
$class = $i <= $this->_startDay ? "fill" :NULL;
/*
* Add today to current date
*/
if ( $c == $t && $m == $this->_m && $y == $this->_y )
{
$class = "today";
}
/*
* Build opening and closing list for item tags
*/
$ls = sprintf("\n\t\t<li class=\"%s\">", $class);
$le = "\n\t\t</li>";
/*
* add the day of the month to identify the calender box
*/
if ( $this->_startDay < $i && $this->_daysInMonth >= $c)
{
$date =sprintf("\n\t\t\t<strong>%02d</strong>", $c++);
}
else
{
$date="&nsbp;";
}
/*
* If the current date is saturday wrap the next row
*/
$wrap = $i != 0 && $i%7 == 0 ? "\n\t</ul>\n\t<ul>" : NULL;
$html .= $ls . $date . $le . $wrap;
}
答案 0 :(得分:1)
$ c在此行中增加:
$date =sprintf("\n\t\t\t<strong>%02d</strong>", $c++);