我有一個PHP循環,其下工作正常,但有時會有一個錯誤頁面由CURL請求返回,我如何才能重新啓動當前頁面的操作而不重新啓動整個循環?當檢測到錯誤時,重新啓動while循環的當前操作
while ($daytofetch <= $lastdaytofetch) {
//Do all my stuff and run curl request here
$daytofetch++
}
我有一個PHP循環,其下工作正常,但有時會有一個錯誤頁面由CURL請求返回,我如何才能重新啓動當前頁面的操作而不重新啓動整個循環?當檢測到錯誤時,重新啓動while循環的當前操作
while ($daytofetch <= $lastdaytofetch) {
//Do all my stuff and run curl request here
$daytofetch++
}
while ($daytofetch <= $lastdaytofetch) {
// Do all my stuff and run curl request here
if ($error_detected) {
// This will resume the loop without incrementing
// $daystofetch
continue;
}
$daytofetch++
}
我可能會做這樣的事情:
while ($daytofetch <= $lastdaytofetch) {
$error = false;
//Do all my stuff and run curl request here
//if there is an error, then set $error = true;
if (!$error)
$daytofetch++
}
記住,這樣做你可以得到一個無限循環,如果頁面總是給人一個錯誤+您發送大量請求到該服務器。也許你可以計算錯誤,並在3次錯誤之後停止重試。 –
所以你可以確認'繼續'會重新啓動它在$ daytofetch上啓動的循環? – Jack
使用'continue'將返回while循環的開始位置,而不更改任何不需要更改的值。所以在這種情況下,執行'continue'語句後,'$ daytofetch'將具有與'while'循環的特定迭代開始時相同的值。 –
好的,謝謝,我是否也會說「break」命令會退出並停止循環? – Jack