В книге там прохожу немного даты и такой окд, вроде все верно написал, но он ругается на второй орич в конце кода непонятно почему.
<?php
//echo '<pre>'.print_r(getdate(),1).'</pre>';
function Calendar($year,$month){
$wday = JDDayofWeek(GregorianToJD($month,1,$year),0);
if($wday == 0) $wday = 7;
$n = - ($wday - 2);
$cal = array();
for($j = 0; $j < 6; $j++){
$row = array();
$notEmpty = false;
for($x = 0; $x < 7; $x++,$n++){
if(checkdate($month,$n,$year)){
$row[] = $n;
$notEmpty = true;
} else{ $row = ''; }
}
if(!$notEmpty) break;
$cal[] = $row;
}
return $cal;
}
//Формируем календарь на текущий месяц
$now = getdate();
$cal = Calendar($now['year'],$now['mon']-1);
?>
<!-- Шаблон вывода календаря -->
<table border="1">
<tr>
<td>Пн</td>
<td>Вт</td>
<td>Ср</td>
<td>Чт</td>
<td>Пт</td>
<td>Сб</td>
<td style="color:red">Вс</td>
</tr>
<? foreach ($cal as $row) {?>
<tr>
<? foreach ($row as $i=>$v){?>
<td style="<?=$i==6?'color:red':''?>">
<?=$v? $v : ' '?>
</td>
<? } ?>
</tr>
<? } ?>
</table>
Warning: Invalid argument supplied for foreach() in C:\www\htdocs\test.ru\www\index.php on line 39