首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

while统制循环次数出错【help】

2012-06-25 
while控制循环次数出错【help】上代码...下面代码有点问题.本来想用$i控制输出次数.但是替换一次就break想

while控制循环次数出错【help】
上代码...下面代码有点问题.本来想用$i控制输出次数.但是替换一次就break;
想了半天无解.
求帮助...谢谢...

PHP code
//替换关键字function ReplaceKey($newstext){    global $empire,$dbtbpre,$public_r;    if(empty($newstext))    {return $newstext;}    $sql=$empire->query("select keyname,keyurl from {$dbtbpre}enewskey");    $i=0;    while($r=$empire->fetch($sql))    {        if($i < 5)        {            $newstext=empty($public_r[repkeynum])?str_replace($r[keyname],'<a href='.$r[keyurl].' target=_blank >'.$r[keyname].'</a>',$newstext):preg_replace('/'.$r[keyname].'/','<a href='.$r[keyurl].' target=_blank >'.$r[keyname].'</a>',$newstext,$public_r[repkeynum]);        }        else              break;        $i++;    }    return $newstext;}


[解决办法]
能确认查询结果就一定大于5吗
[解决办法]
个人认为你的调试有问题,结果并不是你说的那样只替换了一次
$public_r[repkeynum]的值在函数运行期间并没有改变,那么就一定不会执行else分支
[解决办法]
代码控制过程应该没问题,有问题的应该是在


$newstext=empty($public_r[repkeynum])?str_replace($r[keyname],'<a href='.$r[keyurl].' target=_blank >'.$r[keyname].'</a>',$newstext):preg_replace('/'.$r[keyname].'/','<a href='.$r[keyurl].' target=_blank >'.$r[keyname].'</a>',$newstext,$public_r[repkeynum]);


这个部分.

所以似乎应该修改成 $newstext.=xxxx 返回的字符串才是你最终想要的目的吧.

热点排行