à;内部的动态变量;一串


Dynamic variable inside à string

有没有一种方法可以动态更改字符串中的变量值?

我试过的:

$World= "World";
$world = &$World;
$tmp = "Hello ".$world." ====";
$World= "Tada!";
echo $tmp;

它回应了什么:Hello World ====我想让它回显什么:Hello Tada! ====

有没有一种方法可以动态更改字符串中的变量值?

没有。

在执行完这一行之后,就不再有"字符串内部的变量"了,只有一个常规字符串。

您可以使用一些占位符,而不是插入变量

$tmp   = "Hello %s ====";
$World = "World";
echo sprintf($tmp,$World);
$World = "Tada!";
echo sprintf($tmp,$World);

或者您可以使用str_replace

 $tml = "Hellow world!!!"
 echo (str_replace("world","TADA",$tmp));

您可以使用eval():

$tmp = '$tmp = "Hello $world";';
$World= "Tada!";
eval($tmp);
echo $tmp;