str_replace里面的while语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了str_replace里面的while语句相关的知识,希望对你有一定的参考价值。

为什么我在while循环中的str_replace没有按预期运行?

我的代码:

    $comments=$_POST['comments'];
$result = mysql_query("SELECT * FROM cust LEFT JOIN contact AS contact ON cust.cid=contact.contact_id WHERE cid='$aDoor[$i]'");
    while ($row = mysql_fetch_array($result)) {
      $petname=$row['petname'];
      echo "Petname ".$petname."<br/>";
      $comments=str_replace("+petname","$petname",$comments);
      echo $comments."<br/>";
}

当我执行这段代码时,最奇怪的事情就发生了。行:qazxsw poi按预期工作,并在cid数据库中回显正确的petname。但是这条线:

echo "Petname ".$petname."<br/>";

将始终显示FIRST宠物的名称。当我在comments变量中添加正确的$ petname时,怎么会这样呢?

附:我正在做str_replace的原因是,当他向客户发送电子邮件时,使用它的人可以输入+ pet,当它到达客户端时,它将具有正确的宠物名称。

答案

这是因为$comments=str_replace("+petname","$petname",$comments); echo $comments."<br/>"; 在你第一次循环之后被重新定义,所以如果$comments在开头是$comments,在你替换它之后,+petname将保持行中petname的值,然后它再次循环,其值为$comments是宠物名称,要解决这个问题,只需更改变量的名称即可

$comments

以上是关于str_replace里面的while语句的主要内容,如果未能解决你的问题,请参考以下文章

do-while与while的区别?

do-while语句和while的区别

求助! javascript里面的while语句有问题

Python学习_4_if_while_for

Python 4 循环语句while

Python 4 循环语句while