为什么"if"语句会导致"while"循环冻结浏览器?



我有一个有趣的问题。将 if 语句添加到我的 while 循环 with-in PHP 函数后,运行该站点的 (Chrome) 浏览器窗口不会响应。我已经通过注释掉它来验证这是一个导致问题的 if 语句。一切都加载得很好,如果语句被注释掉了。

两个循环的结果相同。

function disp_editForm($id, $day, $month, $year, $type, $content) {
$d_count = 0;
$m_count = 0;
echo '<select name="editDay" id="editDay" onchange="" size="1">';
while($d_count<31) {
$d_count++;
if($d_count=$day) { $dSelected = "selected"; } // Select value in the drop box
echo '<option value="'.$d_count.'"'.$dSelected.'>'.$d_count.'</option>';
} // End Day While Loop
echo '</select>';
echo '<select name="editMonth" id="editMonth" onchange="" size="1">';
while($m_count<12) {
$m_count++;
if($m_count=$month) { $mSelected = "selected"; } // Select value in the drop box
echo '<option value="'.$m_count.'"'.$mSelected.'>';
mConvert($m_count); // Convert month number into a word
echo '</option>';
} // End Month While Loop
echo '</select>';

}

if($d_count=$day) { $dSelected = "selected"; }
if($m_count=$month) { $mSelected = "selected"; }

应该是

if($d_count==$day) { $dSelected = "selected"; }
if($m_count==$month) { $mSelected = "selected"; }

你在这里做作业(=),而不是相等比较(==)。

使用相等比较运算符==而不是=

f($d_count==$day) { $dSelected = "selected"; }
if($m_count==$month) { $mSelected = "selected"; }

最新更新