为了账号安全,请及时绑定邮箱和手机立即绑定

str_replace 函数无法替换多个值

str_replace 函数无法替换多个值

PHP
慕的地6264312 2021-07-02 14:59:58
我有一组字符串,需要使用 str)replace 替换它们,因为我们遍历查询,因为查询成功需要替换 PHP 中的每个值。<?phpinclude_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); } ?>这里只发生了第二次更换。
查看完整描述

1 回答

?
jeck猫

TA贡献1909条经验 获得超7个赞

<?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)) {

 $lclNewValue = $lclString;

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'], $lclNewValue);


        }


    }


    echo json_encode($NewValue);


 } 


?>


查看完整回答
反对 回复 2021-07-09
  • 1 回答
  • 0 关注
  • 215 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信