PHP美元符号字符串
我不明白为什么PHP不在包含美元符号的字符串中进行替换。 请看以下示例:PHP美元符号字符串,php,Php,我不明白为什么PHP不在包含美元符号的字符串中进行替换。 请看以下示例: <?php error_reporting (E_ERROR | E_WARNING | E_PARSE | E_NOTICE); $var = 1024; $str = '$var'; echo $str, '<br>', "$str"; $str包含一个内容为“$var”的字符串(没有变量替换,只有这些字符)。它是使用单引号创建的,因此没有变量替换 使用echo“$str”回送时,变量$str将被替
<?php
error_reporting (E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
$var = 1024;
$str = '$var';
echo $str, '<br>', "$str";
$str
包含一个内容为“$var”
的字符串(没有变量替换,只有这些字符)。它是使用单引号创建的,因此没有变量替换
使用echo“$str”
回送时,变量$str
将被替换为其内容,即字符串“$var”
,从而产生输出
双引号字符串中的字符串替换不能递归工作!因此,为了在第二个外观中将
$str
替换为1024
,您必须首先使用双引号创建$str
。$str包含文本字符串$var,因为它位于单引号之间,因此永远不会被解释
要解释它,需要eval()
是否将输出1042您的意思是
<?php
error_reporting (E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
$var = 1024;
$str = $var;
echo $str, '<br>', "$str";
“
允许您在字符串中放置变量
”
把里面的一切都当作一个字符串
因此,如果您使用'$var'
,则它是一个内部带有$
的字符串
$str“
接受$str
值,因此它会打印$var
您在提问之前看过了吗?当然。当字符串用双引号或heredoc指定时,将在其中解析变量。我认为$str内容应该被解释为一个变量。是的。它被解释为$str
,其中包含字符串'$var'
。我只是想澄清,这不是因为,例如,配置设置,在这种情况下转义美元符号。我认为这是一个误解。“双引号”指的是“双引号”,而不是由两个“单引号”括起来的字符串。手动语言可能更清晰。。。“所示类型的”;其他语言在日常讲话中使用不同的引号。您也可以转义美元符号:“pas\$word”
。仅代码答案在StackOverflow上的值较低。旧的纯代码答案会激发新的纯代码答案。请通过编辑此答案以包含一些解释,从而更好地回答问题。
<?php
error_reporting (E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
$var = 1024;
$str = $var;
echo $str, '<br>', "$str";