我有一個函數,使用php imap函數檢查來自imap服務器的電子郵件。php回去一次循環
該函數檢查從1到x =總郵件的文件夾中的所有電子郵件。
並且在該函數內部有一個腳本,用於檢查電子郵件是否是垃圾郵件,如果是,則將其從服務器中刪除。
當垃圾郵件被刪除時,文件夾上的郵件總數減1,for循環跳過下一封郵件。
例如,收件箱有10封電子郵件,for循環從1到10開始。如果發現電子郵件5是垃圾郵件,它將被刪除,但是當發生這種情況時,6的電子郵件將變爲5,並且for循環跳過這是因爲它試圖讀取電子郵件6.
當發生這種情況時,我該如何回到1?
for(var $i = 1; $i<=$totalMessages; $i++){
if(isSpam()==true){
//delete from imap server
$i = $i-1 //does not work, $i = $i -2 does not work eighter
}
}
怎麼樣才能'isSpam'工作,如果你不要傳遞任何參數,並且不要使用$ i?你可以請張貼重現問題的代碼嗎? – trincot
這是一個檢查。完整的函數有參數。 –