-1

次の php で問題が発生しています。

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

次の構文エラーが発生します。

解析エラー: 構文エラー、予期しない T_CONSTANT_ENCAPSED_STRING、T_STRING が必要です

エラーは 2 行目にあります。2 番目の引用符の前に がある場合'\'、2 行目で次のエラー メッセージが表示されます。

解析エラー: 構文エラー、予期しない '"'、2 行目の /home/maxster/scc.maxworks.org/p_404.php に T_STRING が必要です

誰が何が起こっているのか説明できますか?

4

3 に答える 3

1

2 行目の / を削除してみてください。文字列が必要なので、「ページ 1」だけで十分です。

スラッシュもすべて削除します。

于 2013-03-22T07:17:10.903 に答える
1

引用符の前にバックスラッシュを使用することは、それらが文字列の一部として取得されることを意味するため、実際にはコードの構文を壊していることを忘れないでください。これを使用できる 1 つのケースは、たとえば、文字列内に引用符を出力する場合です。

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

文字列と文字列内でエスケープ引用符を混同しています。これは通常の文字列です:

$pageTitle = "A string";

文字列に引用符を含めたい場合は、次\のようにエスケープする必要があります。

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

PHP では、二重引用符を単一引用符に変更できることに注意してください。次の 4 つのステートメントは有効です。

$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 に答える