问答

PHP正则数组后循环替换,相同参数重复替换的问题

作者:admin 2021-08-07 我要评论

$strAll = "一堆字符aa = 11;一堆字符bb = aa;一堆字符cc = bb;一堆字符bb = 33; 一堆字符ff = bb ";//已通过正则过滤成了数组,经过循环foreach ($arrstr as $k...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)
$strAll = "一堆字符aa  =  11;一堆字符bb  =  aa;一堆字符cc  =  bb;一堆字符bb  =  33; 一堆字符ff  =  bb ";
//已通过正则过滤成了数组,经过循环
foreach ($arrstr as $key=>$value) {
    $search  = array('='.$key);
    $replace = array('='.$value);
    $strAll = str_replace_limit($search,$replace,$strAll);
}

下面是实现的例子:

//key = value
aa  =  11;  跳过

bb  =  aa;  替换后值11

cc  =  bb;  替换后aa

dd  =  aa;  替换后值11

循环替换条件  = key 替换成 = value

上面的没问题,问题是下面这样的:

//key = value
aa  =  11;  跳过

bb  =  aa;  替换后值11

cc  =  bb;  先替换成了aa,后又被替换成了33

bb  =  33;  跳过

ff  =  bb;  先替换成了aa,后又被替换成了33

循环替换条件  = key 替换成 = value

这不是想要的结果,想要的是 cc = aa ,ff= 33,因为存在相同key ,就会导致最终被替换成了一样的值。

帮帮忙吧,可打赏。。。

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • PHP正则数组后循环替换,相同参数重复

    PHP正则数组后循环替换,相同参数重复

  • mysql where in的最大条数是多少?

    mysql where in的最大条数是多少?

  • vector里插入了元素,原有的迭代器就用

    vector里插入了元素,原有的迭代器就用

  • 大文件断点续传,服务端如何识别?

    大文件断点续传,服务端如何识别?

腾讯云代理商
海外云服务器