我正在使用PHP来帮助创建一个网页表,似乎无法发现这个while循环在哪里导致浏览器崩溃。
<?php
$counter1 = 1;
$weekDay = date('l');
echo "Today is $weekDay " . date("Y/m/d") . "<br/>";
echo "<h1>Table Construction</h1>";
echo "<table><tr>";
$dateNow = date("Y/m/d");
$dayStore = array();
while ($counter1 < 8) {
$stringCheck = "+" . $counter1 . " day";
$dateMod = strtotime($stringCheck, strtotime($dateNow));
$weekDay = date ('D',$dateMod);
echo "<td id='"bolder'">" . date ('l',$dateMod) . " " . date("Y/m/d", $dateMod). "</td>";
$dayStore[$counter1]=$weekDay;
$counter1++;
}
echo "</tr>";//"<tr>";
$counter1=1;
while ($counter1<8){
echo "<td><form name='"timeslots'">";
$dayVar = $dayStore[$counter1];
echo $dayVar. " ";
$counterHours = 0;
if ($dayVar == "Mon"||$dayVar == "Tue"||$dayVar == "Wed"||$dayVar == "Thu"||$dayVar == "Fri") {
$startTime = 9;
$counterHours = 0;
while ($counterHours<3) {
$timeString = $startTime . ":00 am";
echo "<input type='"radio'" name='"$dayStore[$counter1]'" value='"$startTime'">$timeString</input><br/>";
$startTime = $startTime+1;
$counterHours++;
}
while (startTime<12 && $counterHours>=3) {
$timeString = ($startTime-12) . ":00 pm";
echo "<input type='"radio'" name='"$dayStore[$counter1]'" value='"$startTime'">$timeString</input>";
$startTime = $startTime+1;
$counterHours++;
}
}
else if ($dayVar == "Sat") {
$startTime = 9;
$counterHours = 0;
while ($counterHours<3) {
$timeString = $startTime . ":00 am";
echo "<input type='"radio'" name='"$dayStore[$counter1]'" value='"$startTime'">$timeString</input>";
$startTime = $startTime+1;
$counterHours++;
}
while ($counterHours<12 && $counterHours>=3) {
$timeString = ($startTime-12) . ":00 pm";
echo "<input type='"radio'" name='"$dayStore[$counter1]'" value='"$startTime'">$timeString</input>";
$startTime = $startTime+1;
$counterHours++;
}
}
else if ($dayVar == "Sun") {
$startTime = 11;
$counterHours = 0;
while ($counterHours<3) {
$timeString = $startTime . ":00 am";
echo "<input type='"radio'" name='"$dayStore[$counter1]'" value='"$startTime'">$timeString</input>";
$startTime = $startTime+1;
$counterHours++;
}
while ($counterHours<12 && $counterHours>=3) {
$timeString = ($startTime-12) . ":00 pm";
echo "<input type='"radio'" name='"$dayStore[$counter1]'" value='"$startTime'">$timeString</input>";
$startTime = $startTime+1;
$counterHours++;
}
}
else {
echo "displaying a proper message";
}
echo "</form></td>";
$counter1++;
}
echo "</tr></table>";
?>
当我把这个上传到我的主页到我学校的服务器上并运行它时,没有加载任何东西,浏览器崩溃了。对于我选择的变量范围,我认为不应该这样做
打字错误:
while (startTime<12 && $counterHours>=3) {
^^^^^^^^^ missing $
未定义常量,因此被求值为0
,使得表达式
while (0 < 12 && $counterHours>=3) {
while (true && true) {
while (true) {
因此是一个无限循环。
如果您在运行时启用了调试选项(例如display_errors
和error_reporting
),您将被告知未定义的常量。在开发/调试系统中,这些设置永远不能关闭。