是否可以在定义变量之前引用变量?

时间:2019-05-20 00:59:43

标签: php

我正在尝试做的非常简化的版本:

$quote = "Currently showing number $i";

for($i=0;$i<100;$i++){
echo $quote;
}

$i中的$quote用新值不断更新。

同样,这是一个简化的示例。我意识到可以重新排序以完成相同的事情或使用str_replace(),但是对于实际代码却无法实现。

3 个答案:

答案 0 :(得分:1)

您可以使用sprintf() / printf(),它具有一个占位符,您可以将$i的值动态分配给:

$quote = "Currently showing number %u";

for($i=0;$i<100;$i++){
    printf($quote, $i);
}

Demo

答案 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;
}
相关问题