如何更新变量变量?

时间:2014-07-21 14:46:58

标签: php

是否可以更新变量?

$a = "Mr.John";
$b = "Dear $a, how are you doing?"; // $b = "Dear Mr.John, how are you doing?"

但如果我将$a更新为其他内容,则$ b不会更改。

$a = "Mr.Gates"; // $ b ="亲爱的Mr.John你好吗?&#34 ;;

如何更新$ b?

5 个答案:

答案 0 :(得分:8)

$b 不是变量变量。它是通过在字符串文字中插入变量而创建的字符串;没有办法根据另一个变量动态更新它。

你应该看看$b是一个函数(返回一个字符串)而不是一个纯字符串,然后在你需要使用该字符串时调用它。

答案 1 :(得分:2)

在作业期间进行评估。

你可以使用它来处理这个问题。

function getMeString($a) {
   return "Dear $a, how are you doing?";
}

答案 2 :(得分:0)

PHP无法进行时间旅行。一旦你"嵌入"双引号字符串中的变量,$whatever变量为GONE且仅保留其值。 PHP没有跟踪它为构建字符串所做的工作,所以如果你改变你的"来源"变量稍后,你的字符串不会神奇地自我更新。

答案 3 :(得分:-1)

怎么样:

$ b =“亲爱的”。$ a。“,你好吗?”

这是$ b是通过连接“Some Text”+ $ b +“其他一些文本”创建的

答案 4 :(得分:-3)

UPD 很抱歉,在本评论的第一次修订中,我把事情搞混了。

$a = "Mr.John";
function b() { return "Dear ".$a.", how are you doing?"; }

变量变量是另一回事:

$a = 'john';
$$a = 'silver';  // var var

echo $john;      // silver