0

通常,当 PHP 中的变量用单引号括起来时,它们被视为字符串,即

echo '$variable';

实际上会将单词 $variable 回显到屏幕上。

那么为什么会解析这个字符串:

echo "'$variable'";

该代码实际上确实回显了变量的值。这是为什么?它仍然在单引号内,为什么它仍然被解析?

4

4 回答 4

1

字符串用双引号括起来——单引号是字符串内容的一部分,而不是字符串分隔符的一部分。因此,单引号没有任何语义意义。

您的问题表明您可能对字符串有基本的误解。还行吧!字符串是非常复杂的实体,如果您学习 C 等较低级别的语言,只会变得更加复杂。我建议您花一些时间阅读一般的字符串以及 PHP 中的字符串。老实说,一些快速的谷歌搜索会比这个任务的精选列表更好。

于 2012-09-29T01:49:17.080 回答
0

因为它也是双引号。最外层的引号表示它是什么类型的字符串。

于 2012-09-29T01:49:14.850 回答
0

它只是一个包含两个单引号字符的双引号字符串。一旦它们在双引号中,它们对解析器就没有意义了。

于 2012-09-29T01:49:41.403 回答
0

因为单引号在双引号内。双引号内的任何内容都会被评估。因此,您的 echo 语句在双引号内传递了一个字符串。

该字符串被评估然后输出。它包含单引号和一个变量。

试试这个:

<?php
    $var = 10;
    echo '"$var"';
?>
于 2012-09-29T01:51:28.720 回答