看看下面的代码
<?php
echo "$_SERVER[HTTP_HOST] <br />";
echo $_SERVER['HTTP_HOST'], "\n\n";
?>
两个 echo 语句都使用相同的技术从超全局数组 $_SERVER 返回 HTTP_HOST 索引的值?我的问题是导致语法差异的原因是什么?我注意到以下差异:
- 第一个 echo 语句中的 HTTP_HOST 没有用单引号括起来,这与我在第二个 echo 语句中使用的语法相反。如果我将 HTTP_HOST 括在第一个 echo 语句的单引号中,我会收到以下错误
解析错误:语法错误,意外的 '' (T_ENCAPSED_AND_WHITESPACE),在第 2 行的 C:\xampp\htdocs\php-blog\simple-blog\server.php 中需要标识符 (T_STRING) 或变量 (T_VARIABLE) 或数字 (T_NUM_STRING)
- 为什么在第二个 echo 语句中的 ['HTTP_HOST'] 之后需要逗号,而在第一个 echo 语句中不需要逗号?如果我丢弃这个逗号,我会收到以下错误。
解析错误:语法错误,意外 '"\n\n"' (T_CONSTANT_ENCAPSED_STRING),需要 ',' 或 ';' 在 C:\xampp\htdocs\php-blog\simple-blog\server.php 第 3 行
我是编程新手,需要指导,请帮助。谢谢!