我正在尝试做的一个非常简化的版本:$quote = "Currently showing number $i";for($i=0;$i<100;$i++){echo $quote;}其中$ifrom$quote不断更新为新值。这又是一个简化的例子。我意识到它可以重新排序以完成相同的事情或str_replace()使用过,但对于真正的代码,它无法完成。
3 回答

斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
这是你的答案
<?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;
}
- 3 回答
- 0 关注
- 193 浏览
添加回答
举报
0/150
提交
取消