PHP单引号或双引号echo语法错误?

10

这是一个非常简单的回显语句,但我无法解决它?

echo '"What is your name?'";

12
为什么这类东西会被投票踩呢? - Daniel Harms
9
我并不认为这个问题对其他人有任何帮助。他们会用什么关键词来搜索呢?“我的代码有问题”吗?即使重新措辞问题以使其更有用,也是毫无意义的。如果有人知道该搜索什么(例如“引号不匹配”),那么他们已经解决了问题。即使是最基本的调试(例如仅查看语法高亮)也会显示出错误所在。我们都会像这样犯一些愚蠢的错误,而且我认为问这个问题没有什么错,但很明显它会被投票否决。 - nickf
@nickf 我同意,但回答者似乎喜欢这个问题,所以我尽力将其作为标题编辑。 - Jeff Atwood
@Jeff,你让情况变得更糟了。因为有一个非常流行的恶劣谣言与你所提出的问题标题有关。虽然问题本身是关于语法错误而不是引用样式的。 - Your Common Sense
@col 很好的观点,我添加了“语法错误”。 - Jeff Atwood
老兄,如果问题并没有什么问题,那我就无法理解为什么会被投票否决。 - Daniel Harms
6个回答

25

单引号不匹配,使用这个:

echo '"What is your name?"';

你的第一个包含字符是单引号,但结束字符是双引号,导致了问题。


10

错误的:

echo '"What is your name?'";
                          ^ Unexpected character

正确:

echo '"What is your name?';

正确的:

echo "What is your name?";

正确:

echo 'What is your name?';

正确的:

echo '"What is your name?"';

正确:

echo "'What is your name?'";

@ Sarfraz - 你是怎么想到的?你怎么知道他不想在字符串中使用单引号? - nickf
@nickf:我并没有说他不想要单引号,我的意思是他需要把字符串放在双引号内,这可以从他的代码中看出来,只是他错误地放置了结束的单引号,基本上他似乎是这样输出的 "What is your name?",请注意 输出 包含了双引号。这可以从他的代码 '"What is your name?"'; 中得出。 - Sarfraz
@sarfraz:只是他把结束的单引号放错位置了,或者开始的单引号位置放错了... - nickf

6
您的引用嵌套不正确。

2
echo "\"What is your name?\"";

1

这是你的解释器出错的地方:

echo '"你叫什么名字?'";

期望是;而不是"


0
echo "What is your name?";

这就是最好的。没有混淆,没有问题..:)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接