-1

我在使用以下 php 时遇到问题:

<?php 
  $pageTitle = \"Page 1";
  include(\"Header.php\");
?>

我得到这个语法错误:

解析错误:语法错误,意外的 T_CONSTANT_ENCAPSED_STRING,期待 T_STRING

错误在第二行。如果我'\'在第二个引号之前有一个,我会收到第二行的以下错误消息:

解析错误:语法错误,意外'"',在第 2 行的 /home/maxster/scc.maxworks.org/p_404.php 中需要 T_STRING

谁能解释发生了什么?

4

3 回答 3

1

您在字符串和字符串中混合了转义引号。这是一个普通的字符串:

$pageTitle = "A string";

如果您希望您的字符串包含引号,则需要使用\如下方式对它们进行转义:

$pageTitle = "I like the band \"U2\" very much!";

请注意,在 PHP 中,您可以将双引号更改为单引号。以下四种说法是有效的:

$pageTitle = 'I like the band "U2" very much!';
$pageTitle = 'I like the band \'U2\' very much!';
$pageTitle = "I like the band 'U2' very much!";
$pageTitle = "I like the band \"U2\" very much!";

请注意引号需要如何转义!

不同之处在于,当字符串以双引号开头时,会计算内联变量,而单引号则不是这样:

$bandName = "U2";
$pageTitle1 = 'I like the band $bandName very much!';
$pageTitle2 = "I like the band $bandName very much!";

echo $pageTitle1 . "<br />";
echo $pageTitle2;

这个的输出将是

I like the band $bandName very much!
I like the band U2 very much!
于 2013-03-22T08:28:32.553 回答
1

尝试删除 / 在第二行。它需要一个字符串,因此只需“Page 1”即可。

删除所有的斜线。

于 2013-03-22T07:17:10.903 回答
1

不要忘记在引号前使用反斜杠意味着它们被视为字符串的一部分,因此您实际上破坏了代码的语法。例如,如果您想在字符串中打印引号,则可以使用这种情况:

<?php
echo "the french word \"lundi\" means \"monday\" in english";
?>
于 2013-03-22T07:27:57.093 回答