Я слежу за книгой php, пытаясь сделать календарь. Проблема в том, что даже когда я следую коду к букве, я бьюсь в загвоздки.
Вот цикл из книги
for ( $i=1, $c=1, $t=date('j'), $m=date('m'), $y=date('Y');
$c<=$this->_daysInMonth; ++$i )
Это работает в примере, который я загружаю с сайта книг, но не в моем коде. Я не понимаю, как это может привести ни к чему, кроме бесконечного цикла.
EDIT
Вот вся функция, теперь она работает, но я до сих пор не понимаю, как ...
$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;
}