以下のコードを見てください
<?php
echo "$_SERVER[HTTP_HOST] <br />";
echo $_SERVER['HTTP_HOST'], "\n\n";
?>
両方のechoステートメントは、同じ手法を使用してスーパーグローバル配列$ _SERVERからHTTP_HOSTインデックスの値を返しますか?私の質問は、構文の違いの原因は何ですか?次の違いに気づきました。
- 最初のechoステートメントのHTTP_HOSTは一重引用符で囲まれていません。これは、2番目のechoステートメントで使用した構文とは逆です。最初のechoステートメントでHTTP_HOSTを一重引用符で囲むと、次のエラーが発生します
解析エラー:構文エラー、予期しない''(T_ENCAPSED_AND_WHITESPACE)、2行目のC:\ xampp \ htdocs \ php-blog \ simple-blog \ server.phpに識別子(T_STRING)または変数(T_VARIABLE)または番号(T_NUM_STRING)が必要です
- 2番目のechoステートメントで['HTTP_HOST']の後にコンマが必要なのに、最初のechoステートメントではコンマが必要ないのはなぜですか。このコンマを破棄すると、次のエラーが発生します。
解析エラー:構文エラー、予期しない'"\ n \ n"'(T_CONSTANT_ENCAPSED_STRING)、'、'、または';'が必要です 3行目のC:\ xampp \ htdocs \ php-blog \ simple-blog\server.phpにあります
私はプログラミングに不慣れです。ガイダンスが必要です。助けてください。ありがとうございました!