我对PHP很新,虽然我找到了解决问题的方法,但我觉得有一种更简单的方法可以实现相同的结果:
这就是我需要做的:
我有一个像这样的字符串(在真正的字符串中有大约25个要替换的值)
"We have received ##AMOUNT## ##CURRENCY## for your OrderID n. ##ORDER_ID##"
Run Code Online (Sandbox Code Playgroud)
在这个字符串中,我必须
##AMOUNT##用变量$AMOUNT
##CURRENCY##值和变量$CURRENCY
##ORDER_ID##值替换为变量值的变量值$ORDER_ID
目前我创建了一个数组:
$flds=['AMOUNT','CURRENCY','ORDER_ID'];
Run Code Online (Sandbox Code Playgroud)
我替换使用循环和动态变量:
但我已经看到str_replace也接受数组,因此可以构建一个更优雅(和有效)的解决方案,但...我找不到它
可以给一些提示吗?
谢谢
我怎样才能有条不紊地更换东西?例如:
$var = "let's count: ?, ?, ?";
Run Code Online (Sandbox Code Playgroud)
现在我想将它替换为1,2,3,结果是"让我们计算1,2,3".我怎样才能做到这一点?我不能用"%s"替换并使用vsprintf()与数组,因为我想尊重整数和浮点数.但我想用数组来做.例如:
$var = replace( $var, "?", array(1, 2, 3) );
Run Code Online (Sandbox Code Playgroud)
我该怎么做?我无法理解.
我需要用数组中的字符串替换某个字符串(问号)的多个实例.例如,如果我想要替换的字符串出现3次而我的数组长度为3,则第一个将被数组中的第一个项目替换,第二个将替换为第二个等等.
你可能会认识到它与mysqli中预处理语句的工作方式非常相似.
这是一个例子:
$myArray = array(
[0] => 'yellow',
[1] => 'green',
[2] => 'red'
);
$myString = 'banana is ?, apple is ?, tomato is ?';
$newString = someFunction($myString,$myArray);
echo $newString;
然后这将返回
banana is yellow, apple is green, tomato is red
任何人都可以使用PHP 5.2建议一种方法.