PHP str_replace 在 while 循环中
PHP str_replace in while loop
str_replace中的while函数只returns第一行信息。这是电子邮件模板。
// I have a macro in my message. (member name)
$message = "Hi {%write_member_name%} how are you?";
$connect = mysql_query("SELECT * FROM members");
while($row=mysql_fetch_array($connect)){
$membername = $row["member_name"];
$message = str_replace('{%write_member_name%}', $membername ,$message);
echo $message."<br/>";
}
我应该有的结果。
嗨杰克你好吗?
嗨迈克你好吗?
嗨亚历克斯你好吗?
但是我得到了错误的结果:
嗨杰克你好吗?
嗨杰克你好吗?
嗨杰克你好吗?
如果我不使用 str_replace 函数,它可以正常工作。
如何在 while 循环中使用 str_replace 函数?
谢谢。
$connect = mysql_query("SELECT * FROM members");
while($row=mysql_fetch_assoc($connect)){
$message = "Hi {%write_member_name%} how are you?";
$membername = $row["member_name"];
$message = str_replace('{%write_member_name%}', $membername ,$message);
echo $message."<br/>";
}
容易得多:
$connect = mysql_query("SELECT * FROM members");
while($icerik=mysql_fetch_array($connect)){
echo $message = "Hi" . $row["member_name"] . "how are you? <br/>";
}
你为此使用 sprintf()
Replace the percent (%) sign by a variable passed as an argument:
$membername = "";
$connect = mysql_query("SELECT * FROM members");
while ($row = mysql_fetch_array($connect)) {
$membername = $row["member_name"];
$message = sprintf("Hi %s how are you?", $membername); // pass argument here
echo $message . "<br/>";
$membername = "";
}
mysql_* functions officially deprecated and removed in PHP 7.0.0. You
should update your code with PDO or MySQLi.
str_replace中的while函数只returns第一行信息。这是电子邮件模板。
// I have a macro in my message. (member name)
$message = "Hi {%write_member_name%} how are you?";
$connect = mysql_query("SELECT * FROM members");
while($row=mysql_fetch_array($connect)){
$membername = $row["member_name"];
$message = str_replace('{%write_member_name%}', $membername ,$message);
echo $message."<br/>";
}
我应该有的结果。
嗨杰克你好吗?
嗨迈克你好吗?
嗨亚历克斯你好吗?
但是我得到了错误的结果:
嗨杰克你好吗?
嗨杰克你好吗?
嗨杰克你好吗?
如果我不使用 str_replace 函数,它可以正常工作。
如何在 while 循环中使用 str_replace 函数? 谢谢。
$connect = mysql_query("SELECT * FROM members");
while($row=mysql_fetch_assoc($connect)){
$message = "Hi {%write_member_name%} how are you?";
$membername = $row["member_name"];
$message = str_replace('{%write_member_name%}', $membername ,$message);
echo $message."<br/>";
}
容易得多:
$connect = mysql_query("SELECT * FROM members");
while($icerik=mysql_fetch_array($connect)){
echo $message = "Hi" . $row["member_name"] . "how are you? <br/>";
}
你为此使用 sprintf()
Replace the percent (%) sign by a variable passed as an argument:
$membername = "";
$connect = mysql_query("SELECT * FROM members");
while ($row = mysql_fetch_array($connect)) {
$membername = $row["member_name"];
$message = sprintf("Hi %s how are you?", $membername); // pass argument here
echo $message . "<br/>";
$membername = "";
}
mysql_* functions officially deprecated and removed in PHP 7.0.0. You should update your code with PDO or MySQLi.