Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP在echo之前向变量中的变量添加值_Php_Variables_Echo - Fatal编程技术网

PHP在echo之前向变量中的变量添加值

PHP在echo之前向变量中的变量添加值,php,variables,echo,Php,Variables,Echo,我正在寻找解决方案: $txt = "Welcome to ".$place." City!"; $place = "New York"; echo $txt; // should be "Welcome to New York City!" 变量“$place”只能在变量“$txt”之后声明。 可能吗 谢谢你不能直接这么做。字符串在赋值时使用$place的值连接,因此对$place的任何更改都不会反映在字符串中。您可以通过编写一个函数来模拟这种情况,一旦您知道字符串应该引用的位置,该函数将生

我正在寻找解决方案:

$txt = "Welcome to ".$place." City!";
$place = "New York";
echo $txt; // should be "Welcome to New York City!"
变量“$place”只能在变量“$txt”之后声明。 可能吗


谢谢

你不能直接这么做。字符串在赋值时使用
$place
的值连接,因此对
$place
的任何更改都不会反映在字符串中。您可以通过编写一个函数来模拟这种情况,一旦您知道字符串应该引用的位置,该函数将生成字符串

function welcome($place) {
    return 'Welcome to '.$place.' City!';
}

$place = 'New York';

echo welcome($place);
是的,这是可能的。
只需创建一个占位符并替换它。
注意,我将
更改为

如果使用
它将$place作为变量读取。使用
“$place是字符串,可以稍后在代码中替换

$txt = 'Welcome to $place City!';
$place = "New York";
echo str_replace('$place', $place, $txt);

不清楚你想要实现什么。但这与您的示例非常接近,并按预期工作:

$txt = "Welcome to %s City!";
$place = "New York";
printf($txt, $place); // should be "Welcome to New York City!"

当设置
$txt
时,它将连接
“欢迎使用”
$place
的值和
“城市!”
以形成一个新字符串。所以不,你不能。你为什么要这样做?你能在这里解释一下目的吗?你的例子是不可能的,但我敢打赌,不管你实际上想达到什么目的,你都不能在使用变量之前定义它。@SteveO24没问题。请随意接受您找到最佳解决方案的答案。(并不意味着这是我的,它们都非常相似)