1

このコードを実行すると、次のメッセージが表示されます。

function print_footer(){
global $file;
echo <<<EOT
<center>
<a href="$file?op=vote"> Vote </a> |
<a href="$file?op=admin"> Admin </a> | 
<hr>
$copy; 2012, Shibbir Ahmed, All Rights Reserved.
</center>
</body>
</html> 
EOT;        
}   

エラーメッセージ:

解析エラー: 構文エラー、予期しない $end in D:\xampp server\xampp\htdocs\practice \function.php on line ...

この PHP コードの何が問題になっていますか?

4

3 に答える 3

3

ここに投稿したコードには、末尾の後にたくさんのスペースがありますEOT;。これはPHP 構文では許可されていません。

終了識別子のある行には、セミコロン(;)以外の文字を含めないでください。これは特に、識別子がインデントされていない可能性があり、セミコロンの前後にスペースやタブがない可能性があることを意味します。

何が起こるかというと、PHP は終了指定子を認識しないため、予期せずファイルの最後に到達してエラーをスローするまで、終了指定子を探し続けます。

EOT;解決策は、 がある行の前後にスペースがまったくないことを確認することです。

于 2012-10-14T14:18:16.773 に答える
0

コードをフォーマットした方法が問題ない場合は、. の前に空白があるように見えますEOT;。HEREDOC の終了マーカーは、行の絶対最初のものでなければなりません。

于 2012-10-14T14:17:36.533 に答える
0

前にスペースがないことを確認してくださいEOT;

于 2012-10-14T14:17:55.280 に答える