嵌入在字符串中的变量可以被视为引用吗?

问题描述 投票:0回答:2

我有这个小代码:

$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 吗?

php variables reference
2个回答
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');

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;
© www.soinside.com 2019 - 2024. All rights reserved.