我正在尝试做的非常简化的版本:
$quote = "Currently showing number $i";
for($i=0;$i<100;$i++){
echo $quote;
}
$i
中的$quote
用新值不断更新。
同样,这是一个简化的示例。我意识到可以重新排序以完成相同的事情或使用str_replace()
,但是对于实际代码却无法实现。
答案 0 :(得分:1)
您可以使用sprintf()
/ printf()
,它具有一个占位符,您可以将$i
的值动态分配给:
$quote = "Currently showing number %u";
for($i=0;$i<100;$i++){
printf($quote, $i);
}
答案 1 :(得分:0)
我只会做类似的事情:
$quote = "Currently showing number ";
for($i=0;$i<100;$i++){
echo $quote.$i;
}
答案 2 :(得分:-1)
这是你的答案
<?php
$quote = 'Currently showing number $i';
$pattern = '/\$([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)/';
preg_match_all($pattern, $quote, $matches);
for ($i=0; $i<100; $i++) {
foreach ($matches[1] as $index => $valName) {
if (isset(${$valName})) {
$result = str_replace($matches[0][$index], ${$valName}, $quote);
}
}
echo $result;
}