[英]Leave variable on last iteration of while loop
我在代碼中陷入困境。 變量$end_date
在while循環中進行迭代,以顯示五章的結束日期。 現在,基於此變量,我必須顯示一個警報框。 我的問題是,當找到上一章的結束日期時,會彈出警告框,這是無效的,因為對於其他四個章節,結束日期已延長。 我如何只保留最后一章的結束日期,並且警報框的條件不匹配。 我對此進行了很多嘗試,但無法為此做出邏輯。 幫助或建議,將不勝感激。
if((strtotime($today_date) >= strtotime($end_date) || ( $pass_count == 0 && $status_request != 2 && $status_request != 0 ) ) )
{
echo ("<SCRIPT LANGUAGE='JavaScript'>
mess1='Your exam validity date has been expired. Click OK to request for extending your Quiz validity or you can ignore by clicking Cancel.'
x = confirm(mess1);
if (x == true)
{
window.location = 'validity_request_mail.php?userid=$userid ';
}
</SCRIPT>");
}
我們可能會引入一個名為$last_date
的新變量,用於捕獲所有章節的“最大”結束日期。
看來問題是在while()
循環之后,設置了$end_date
,它應該是最后一個日期。 但是最后(第5次迭代)具有$end_date
之前其他$end_date
其他章節(S),所以顯示confirm()
對話框是不正確的(因為有一些章節那些尚未到期)。
所以這應該解決它:
while (...) {
...
}
...
// snippet in OP's post
至:
$last_date = '';
while (...) {
...
if ( strtotime($end_date) > strtotime($last_date) ) {
$last_date = $end_date;
}
}
...
$end_date = $last_date; // continue with snippet in OP's post
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.