str_replace 函数无法替换多个值

我有一组字符串,需要使用 str)replace 替换它们,因为我们遍历查询,因为查询成功需要替换 PHP 中的每个值。


<?php


include_once("con.php");

$db = new Da();


$con = $db->con();


$lclString = "{{ONE}} {{TWO}} {{THREE}} {{FOUR}} {{FIVE}} {{SIX}}";


 $lclCount = 1;

 if(preg_match_all("/\{\{[^{}]+\}\}/", $lclString, $matches)) {


    foreach ($matches[0] as $match) {


        $lclQuery = "SELECT link, link_value FROM student WHERE link_value = '".$match."'";


        $lclResult = $connString->query($lclQuery);


        while($row = $lclResult->fetch(PDO::FETCH_ASSOC)) {


            $lclNewValue = str_replace($match, $row['link'], $lclString);


            }


        }


        echo json_encode($NewValue);


 } 


?>

这里只发生了第二次更换。


慕的地6264312
浏览 216回答 1
1回答

jeck猫

<?phpinclude_once("con.php");$db = new Da();$con = $db->con();$lclString = "{{ONE}} {{TWO}} {{THREE}} {{FOUR}} {{FIVE}} {{SIX}}";&nbsp;$lclCount = 1;&nbsp;if(preg_match_all("/\{\{[^{}]+\}\}/", $lclString, $matches)) {&nbsp;$lclNewValue = $lclString;foreach ($matches[0] as $match) {&nbsp; &nbsp; $lclQuery = "SELECT link, link_value FROM student WHERE link_value = '".$match."'";&nbsp; &nbsp; $lclResult = $connString->query($lclQuery);&nbsp; &nbsp; while($row = $lclResult->fetch(PDO::FETCH_ASSOC)) {&nbsp; &nbsp; &nbsp; &nbsp; $lclNewValue = str_replace($match, $row['link'], $lclNewValue);&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }&nbsp; &nbsp; echo json_encode($NewValue);&nbsp;}&nbsp;?>
打开App,查看更多内容
随时随地看视频慕课网APP