有没有一种方法可以动态更改字符串中的变量值?
我试过的:
$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;