PHP中利用函数制作年历表
时间: 2024-09-12 07:09:15 浏览: 29
在PHP中,你可以使用内置的函数来创建一个年历表。以下是一个简单的示例,展示了如何使用`date`和`cal_days_in_month`等函数来制作一个年历表:
```php
<?php
function printYearCalendar($year) {
// 获取该年份的每个月的天数
for ($month = 1; $month <= 12; $month++) {
$daysInMonth = cal_days_in_month(CAL_GREGORIAN, $month, $year);
// 打印月份标题
echo "--------------------- " . date("F", mktime(0, 0, 0, $month, 1, $year)) . " ---------------------\n";
// 打印星期标题
echo " Sun Mon Tue Wed Thu Fri Sat\n";
// 计算该月份第一天是星期几
$firstDayOfMonth = mktime(0, 0, 0, $month, 1, $year);
$dayOfWeek = date("w", $firstDayOfMonth);
// 如果第一天是星期天,则直接开始打印日历,否则打印空白填充
for ($w = 0; $w < $dayOfWeek; $w++) {
echo " ";
}
// 打印该月的所有天数
for ($day = 1; $day <= $daysInMonth; $day++) {
// 打印日
printf("%5d", $day);
// 如果到达星期六,则换行
if (($day + $dayOfWeek) % 7 == 0) {
echo "\n";
}
}
// 换行,准备打印下一个月
echo "\n\n";
}
}
// 使用函数打印2023年的年历表
printYearCalendar(2023);
?>
```
这个函数`printYearCalendar`接受一个年份作为参数,并输出该年份的每个月的日历表。它首先使用`cal_days_in_month`函数获取每个月的天数,然后用`date`函数来获取月份的名称。接着,它计算每个月的第一天是星期几,以便正确地打印出日历。