簡體   English   中英

在定義變量之前是否可以引用變量?

[英]Is it possible to reference a variable before defining it?

我想要做的非常簡化的版本:

$quote = "Currently showing number $i";

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

來自$quote$i不斷更新新值。

這又是一個簡化的例子。 我意識到它可以重新排序以完成相同的事情或使用的str_replace() ,但對於真正的代碼,它無法完成。

你可以使用sprintf() / printf() ,它有一個占位符,你可以動態地將$i的值賦值給:

$quote = "Currently showing number %u";

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

演示

我會做的事情如下:

$quote = "Currently showing number ";

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

這是你的答案

<?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;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM