通常,当 PHP 中的变量用单引号括起来时,它们被视为字符串,即
echo '$variable';
实际上会将单词 $variable 回显到屏幕上。
那么为什么会解析这个字符串:
echo "'$variable'";
该代码实际上确实回显了变量的值。这是为什么?它仍然在单引号内,为什么它仍然被解析?
字符串用双引号括起来——单引号是字符串内容的一部分,而不是字符串分隔符的一部分。因此,单引号没有任何语义意义。
您的问题表明您可能对字符串有基本的误解。还行吧!字符串是非常复杂的实体,如果您学习 C 等较低级别的语言,只会变得更加复杂。我建议您花一些时间阅读一般的字符串以及 PHP 中的字符串。老实说,一些快速的谷歌搜索会比这个任务的精选列表更好。
因为它也是双引号。最外层的引号表示它是什么类型的字符串。
它只是一个包含两个单引号字符的双引号字符串。一旦它们在双引号中,它们对解析器就没有意义了。
因为单引号在双引号内。双引号内的任何内容都会被评估。因此,您的 echo 语句在双引号内传递了一个字符串。
该字符串被评估然后输出。它包含单引号和一个变量。
试试这个:
<?php
$var = 10;
echo '"$var"';
?>