PHP中数组的foreach问题
我不知道为什么,但有时它工作得很好,有时却不行。同样有趣的是:在我用这个脚本创建HTML电子邮件之前,它只有在我上次更改电子邮件地址后才起作用 我希望有人能帮助我。谢谢PHP中数组的foreach问题,php,email,Php,Email,我不知道为什么,但有时它工作得很好,有时却不行。同样有趣的是:在我用这个脚本创建HTML电子邮件之前,它只有在我上次更改电子邮件地址后才起作用 我希望有人能帮助我。谢谢 您应该使用switch语句,而不是长字符串ifs $buffer=str_replace(数组(“[NAME]”,“[EMAIL]”),数组($NAME,$EMAIL),$wort)有什么问题 清理后,如果你仍然有问题,请更具体地说明你有什么问题 您从何处获得数组中的$text\u?有时工作正常,有时不正常根本不是一个有用的错误
switch
语句,而不是长字符串if
s$buffer=str_replace(数组(“[NAME]”,“[EMAIL]”),数组($NAME,$EMAIL),$wort)有什么问题代码>
您从何处获得数组中的$text\u?
有时工作正常,有时不正常
根本不是一个有用的错误描述。。。但无论如何,这需要一个根本性的重写。也许一旦发生这种情况,问题就自行消失了:)德国代码?哎哟。请使用英语作为您的标识符等。除此之外,代码是可怕的。考虑使用字符串替换……佩卡:对不起。我无法更好地描述它,因为我只是不理解它(对我来说,它就像是随机的)。如果它是一个爱好项目,我不认为使用非英语标识符有什么可怕的@嗯,你可以展示一些输入数据,描述当它不起作用时会发生什么。但重写确实是正确的,也许读过这篇文章的人可以想出一个建议哦…谢谢!我没有想到“str_replace();”!我会试试看,然后再打给你。非常感谢!
while($row = mysql_fetch_object($all)) {
$name = $row->name;
$email = $row->email;
$id = $row->id;
$finished_text = '';
$news_content = '';
$buffer = '';
[...]
foreach($text_in_array as $word) {
if($word == '[NAME]'){
$buffer = $name;
}else if($word == '[NAME].'){
$buffer = $name.'.';
}else if($word == '[NAME],'){
$buffer = $name.',';
}else if($word == '[NAME]!'){
$buffer = $name.'!';
}else if($word == '[NAME]"'){
$buffer = $name.'"';
}else if($word == '"[NAME]'){
$buffer = '"'.$name;
}else if($word == '"[NAME]"'){
$buffer = '"'.$name.'"';
}else if($word == '[NAME]."'){
$buffer = $name.'."';
}else if($word == '[NAME],"'){
$buffer = $name.',"';
}else if($word == '[NAME]!"'){
$buffer = $name.'!"';
}else if($word == '*[NAME]*'){
$buffer = '*'.$name.'*';
}else if($word == '**[NAME]**'){
$buffer = '**'.$name.'**';
}else if($word == '[EMAIL]'){
$buffer = $email;
}else if($word == '[EMAIL].'){
$buffer = $email.'.';
}else if($word == '[EMAIL],'){
$buffer = $email.',';
}else if($word == '[EMAIL]!'){
$buffer = $email.'!';
}else if($word == '[EMAIL]"'){
$buffer = $email.'"';
}else if($word == '"[EMAIL]'){
$buffer = '"'.$email;
}else if($word == '"[EMAIL]"'){
$buffer = '"'.$email.'"';
}else if($word == '[EMAIL]."'){
$buffer = $email.'."';
}else if($word == '[EMAIL],"'){
$buffer = $email.',"';
}else if($word == '[EMAIL]!"'){
$buffer = $email.'!"';
}else if($word == '*[EMAIL]*'){
$buffer = '*'.$email.'*';
}else if($word == '**[EMAIL]**'){
$buffer = '**'.$email.'**';
}else{
$buffer = $word;
}
$news_content .= ' '.$buffer;
}
$finished_text .= Markdown($news_content);
[...]
mail(
'xxxxxxxxxx@gmail.com', //just test later it will be set to $email
$betreff,
$message,
$header
);
}