PHP 7.1用动态变量替换多个值
发布时间:2020-12-13 21:57:25 所属栏目:PHP教程 来源:网络整理
导读:我对 PHP很新,虽然我找到了解决问题的方法,但我觉得有一种更简单的方法可以实现相同的结果: 这就是我需要做的: 我有一个像这样的字符串(在真正的字符串中有大约25个要替换的值) "We have received ##AMOUNT## ##CURRENCY## for your OrderID n. ##ORDER_ID
我对
PHP很新,虽然我找到了解决问题的方法,但我觉得有一种更简单的方法可以实现相同的结果:
这就是我需要做的: 我有一个像这样的字符串(在真正的字符串中有大约25个要替换的值) "We have received ##AMOUNT## ##CURRENCY## for your OrderID n. ##ORDER_ID##" 在这个字符串中我必须替换 目前我创建了一个数组: $flds=['AMOUNT','CURRENCY','ORDER_ID']; 我使用循环和动态变量替换: 可以给一些提示吗? 谢谢 解决方法
您可以使用
str_replace(),如果您有任意变量,可以使用
compact()将它们放入数组中.
<?php $str = "We have received ##AMOUNT## ##CURRENCY## for your OrderID n. ##ORDER_ID##"; $AMOUNT = 123; $CURRENCY = 'GBP'; $ORDER_ID = 20123; $find = ['##AMOUNT##','##CURRENCY##','##ORDER_ID##']; $replace = compact('AMOUNT','ORDER_ID'); echo str_replace($find,$replace,$str); https://3v4l.org/1E2Mm 结果: 我们已收到您的OrderID n的123英镑. 20123 如果您正在寻找一种方法来定义您的变量/占位符一次然后匹配和替换,您可以这样做: <?php $str = "We have received ##AMOUNT## ##CURRENCY## for your OrderID n. ##ORDER_ID##"; $AMOUNT = 123; $CURRENCY = 'GBP'; $ORDER_ID = 20123; $find = ['AMOUNT','ORDER_ID']; echo str_replace( array_map(function($v){ return '##'.$v.'##'; },$find),compact(...$find),$str ); https://3v4l.org/ekHYB (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |