lz你这个是要做什么的你循环执行3次,第一次$url=1,$tt2里面所有1会被替换成9999,所以输出了12个9;而第2,3次$url=2,3,在$tt2里面查不到,不会执行替换,所以每次输出$tt2=111,两次6个1。

解决方案 »

  1.   

    楼主是想实现将1,2,3换成9999是吧.$ttt = "123";
    $str = preg_replace("/[1-3]/", "9999", $ttt);
    echo $str;
      

  2.   

    只是想把1,2,3换成9999的话这样就可以了
    $tt2=111;
    $mmh=str_replace(array(1,2,3),"9999",$tt2);
    echo $mmh;
    或是用楼上的正则表达式
      

  3.   

    <?php
    $con = mysql_connect("localhost", "root", "123456");
    $db_selected = mysql_select_db("dede2");
    mysql_query("SET NAMES gb2312") ;
    $sql = "select body from dede_addonarticle ";
    $result = mysql_query($sql);
    $sql1 = "select keyword from dede_keywords ";
    $result1 = mysql_query($sql1);while($tt1 = mysql_fetch_array($result))
    {
    $tt2[]=$tt1["body"];
    }//获取dede_addonarticle的body所有列的值;
    while($vv1 = mysql_fetch_array($result1))
    {
    $vv2[]=$vv1["keyword"];}//获取dede_keywords的keyword所有列的值;for($i=0;$i<count($vv2);$i++)

    $url=$vv2[$i]; //循环获取keyword每列的值
    $mmy="9999";//替换成999
    $mmh=str_replace($url,$mmy,$tt2);//进行替换
    print_r($mmh);
    }
    //问题出现循环次数替换为空就输出$tt2几次。怎样解决啊
    ?>
      

  4.   

    <?php
    $con = mysql_connect("localhost", "root", "123456");
    $db_selected = mysql_select_db("dede2");
    mysql_query("SET NAMES gb2312") ;
    $sql = "select body from dede_addonarticle ";
    $result = mysql_query($sql);
    $sql1 = "select keyword from dede_keywords ";
    $result1 = mysql_query($sql1);while($nn1 = mysql_fetch_array($result))
    {
    $nn2[]=$nn1["body"];
    }//获取dede_addonarticle的body所有列的值;
    while($tt2 = mysql_fetch_array($result1))
    {
    $tt3[]=$tt2["keyword"];
    }//获取dede_addonarticle的body所有列的值;//print_r($tt3);$mmy="9999";
    $mmh=str_replace($tt3,$mmy,$nn2);
    print_r($mmh);?> 完成万岁