PHP似乎进入了一个无限的foreach循环

PHP似乎进入了一个无限的foreach循环,php,loops,foreach,infinite,Php,Loops,Foreach,Infinite,我正在使用以下代码: $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;

我正在使用以下代码:

$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);
}
$array=explode(“\n”,文件获取内容($file));
//此处$file包含n个电子邮件地址
foreach($array作为$value){
$check=file_get_contents('file.txt');
$subject='subject('.$entry.');
$to=$value;
如果($check<$credits){
$message=“…”;
}
否则{
$message=“…”;
}
$headers='MIME版本:1.0'。“С\r\n”;
$headers.='内容类型:text/html;字符集=utf-8'。“\r\n”;
$headers.='From:'…'。“\r\n”;
邮件($to、$subject、$message、$headers);
}
读取包含大量电子邮件地址的文件。对于每封电子邮件,都会发送一条消息。文件中没有任何更改

大多数情况下,它工作得非常好,只向每个地址发送一条消息。然而,有时它似乎进入一个无限循环,开始向同一地址发送多条消息


如有必要,我可以提供其他详细信息。

我看不到任何可能导致无限循环的内容。 带有电子邮件地址的文件可能有重复的电子邮件

尝试以下方法来确认:

$array = explode("\n", file_get_contents($file));
print_r(array_count_values($array));
它应该输出如下内容:

Array
(
[me@host.com] => 2
[her@host.com] => 1
[him@host.com] => 3
...
)

我看不到任何能引起无限循环的东西。 带有电子邮件地址的文件可能有重复的电子邮件

尝试以下方法来确认:

$array = explode("\n", file_get_contents($file));
print_r(array_count_values($array));
它应该输出如下内容:

Array
(
[me@host.com] => 2
[her@host.com] => 1
[him@host.com] => 3
...
)

您的代码在连接字符串时出现了一个小错误


我没有看到任何可以用foreach生成无限循环的东西,请尝试使用“var_dump($array)”,以检查出现的值。

您的代码在连接字符串时出现了一个小错误


我没有看到任何可以用foreach生成无限循环的东西,请尝试使用“var_dump($array)”,以检查出现的值。

在该代码中,我看不到任何会导致无限循环的东西。我能看到是否多次向同一个人发送电子邮件的唯一方法是它们是否多次出现在
$file
$check=file\u get\u contents('file.txt')为什么每次迭代都要读这个?顺便说一句,
$headers.='From:'…'中的语法错误。“\r\n”(一个连字符太多了)。我在代码中看不到任何东西会导致无限循环。我能看到是否多次向同一个人发送电子邮件的唯一方法是它们是否多次出现在
$file
$check=file\u get\u contents('file.txt')为什么每次迭代都要读这个?顺便说一句,
$headers.='From:'…'中的语法错误。“\r\n”(多了一个连字符)。谢谢您的评论。我将尝试var_dump函数。这可能会有帮助。然而,脚本在大多数情况下都能正常工作。我注意到它并没有进入无限循环,而是多次向同一个收件人发送同一封电子邮件。谢谢你的评论。我将尝试var_dump函数。这可能会有帮助。然而,脚本在大多数情况下都能正常工作。我注意到它并没有进入无限循环,而是多次向同一个收件人发送同一封电子邮件。谢谢。该列表不包含重复的电子邮件。我刚刚检查过它,我肯定知道,因为我只是手工编辑。谢谢。该列表不包含重复的电子邮件。我刚刚检查了它,我知道,因为我只手动编辑它。