有没有办法做到这一点:
$myVar = 2;
$str = "I'm number:".$myVar;
$myVar = 3;
echo $str;
输出将是:"I'm number: 3";
我想要一个字符串,它的一部分就像一个指针,它的值将通过对引用变量的最后修改来设置。
例如,即使我这样做:
$myStr = "hi";
$myStrReference = &$myStr;
$dynamicStr = "bye ".$myStrReference;
$myStr = "bye";
echo $dynamicStr;
这将输出“ ”,但由于上次更改,bye hi
我希望它是“ ”。bye bye
我认为问题在于将指针连接到字符串时,指针的值是使用的值。因此,无法使用连接后设置的值输出字符串。
有任何想法吗?
更新:$dynamicStr
将被附加到 a$biggerString
并且最后$finalResult
( $biggerString+$dynamicStr
) 将回显给用户。因此,我唯一的选择是做某种echo eval($finalResult)
有$finalResult
内部echo($dynamicStr)
和$dynamicStr='$myStr'
(如劳森建议)的地方,对吧?
更新:
$myVar = 2;
$str = function() use (&$myVar) {
return "I'm number $myVar";
};
$finalStr = "hi ".$str();
$myVar = 3;
echo $finalStr;
我希望这个输出:“嗨,我是 3 号”而不是“嗨,我是 2 号”......但事实并非如此。