字符串中的PHP变量

时间:2013-10-28 16:10:59

标签: php

我有这个很小的代码:

$a = "apple";
$var = "I like the $a";
echo $var;
echo "<br>";
$a = "pear";
echo $var;

OUTPUT:
I like the apple
I like the apple

OUTPUT I NEED:
I like the apple
I like the pear

任何人都知道如何动态更新字符串中的var? 感谢

2 个答案:

答案 0 :(得分:6)

您的$var字符串在解释器到达时解析,因此更改$a变量不会替换其值。有很多选择可以完成你想要做的事情。

您可以将字符串格式存储在$var中,然后应用sprintf

$var = 'I like the %s';
echo sprintf($var, 'apple');
echo sprintf($var, 'pear');

或者您可以创建一个函数来接收您喜欢的参数:

function generateLikeString($what) {
    return "I like the $what";
}

echo generateLikeString('apple');
echo generateLikeString('pear');

答案 1 :(得分:0)

$a中使用$var后,您正在修改$var的值。如果您之后更改$a,则不会影响$a = "pear"; $var = "I like the $a"; 。你必须再次这样做:

$a = "apple";
$var = "I like the ";
echo $var . $a;
echo "<br>";
$a = "pear";
echo $var . $a;

或者这样做:

{{1}}