去我使用下面的代码:PHP似乎无限foreach循环
$array = explode("\n", file_get_contents($file));
// Here $file contains n e-mail addresses
foreach ($array as $value) {
$check = file_get_contents('file.txt');
$subject = 'Subject (' . $entry . ')';
$to = $value;
if ($check < $credits){
$message = '...';
}
else{
$message = '...';
}
$headers = 'MIME-Version: 1.0' . "с\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$headers .= 'From: '...' . "\r\n";
mail($to, $subject, $message, $headers);
}
一个文件是只读方含电子邮件地址的施氮量。每封电子邮件都会发送一条消息。文件中没有任何更改。
大多数情况下,它的工作原理绝对正常,只向每个地址发送一条消息。但有时候,它似乎陷入了无限循环,并开始向同一地址发送多条消息。
如有需要,我可以提供更多详情。
在代码中没有任何东西可以导致无限循环。我可以看到多次向同一人发送电子邮件的唯一方法是,它们在'$ file'中多次出现。 –
'$ check = file_get_contents('file.txt');'为什么在每次迭代中读取? –
顺便说一下,'$ headers。='中的语法错误来自:'...'。 “\ r \ n”;'(一个连字符太多)。 – syck