【发布时间】:2020-07-13 07:19:04
【问题描述】:
我不确定我哪里出错了,我不知道该怎么做,如果有人可以提供帮助,那将非常有帮助。
我得到的错误如下所示:
致命错误:第 43 行的 D:\wamp\www\testing\calendar.php 中允许的内存大小为 268435456 字节已用尽(试图分配 132120600 字节) - https://.......com/cb71e74783b362ec2a55752c60dcbd32
程序的代码是:
<?php
ini_set('memory_limit', '256M');
function build_calendar($month,$year){
$daysOfWeek = array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
$firstDayOfMonth = mktime(0,0,0,$month,1,$year);
$numberDays = date('t'.$firstDayOfMonth);
$dateComponents = getdate($firstDayOfMonth);
$monthName = $dateComponents['month'];
$dayOfWeek = $dateComponents['wday'];
$dateToday = date('Y-m-d');
$calendar = "<table class='table table-bordered'>";
$calendar.= "<center><h2>$monthName $year</h2></center>";
$calendar.="<tr>";
foreach($daysOfWeek as $day){
$calendar.="<th class='header'>$day</th>";
}
$calendar.= "</tr><tr>";
if($dayOfWeek > 0){
for($k=0;$k<$dayOfWeek;$k++){
$calendar.="<td></td>";
}
}
$currentDay = 1;
$month = str_pad($month, 2, '0', STR_PAD_LEFT);
while($currentDay <= $numberDays){
if($dayOfWeek == 7){
$dayOfWeek = 0;
$calendar.="</tr><tr>";
}
$currentDayRel = str_pad($month, 2, '0', STR_PAD_LEFT);
$date = "$year-$month-$currentDayRel";
$calendar.= "<td><h4>$currentDay</h4>";
$calendar.="</td>";
$currentDay++;
$dayOfWeek++;
}
if($dayOfWeek != 7){
$remainingDays = 7 - $dayOfWeek;
for($i=0;$i<$remainingDays;$i++){
$calendar.= "<td></td>";
}
}
$calendar.="</tr>";
$calendar.="</table>";
echo $calendar;
}
?>
<html>
<head>
<meta name="viewport" content="width=device,inital-scale=1.0">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<div class="row">
<div class="col-md-12">
<?php
$dateComponents = getdate();
$month = $dateComponents['mon'];
$year = $dateComponents['year'];
echo build_calendar($month, $year)
?>
</div>
</div>
</div>
</body>
</html>
错误消息中列出的第 43 行是由代码组成的行:$calendar.= "<td><h4>$currentDay</h4>";
【问题讨论】:
-
似乎是无限循环。在
while($currentDay <= $numberDays){之前检查$numberDays的值
标签: php