查看下面的代码
<?php
echo "$_SERVER[HTTP_HOST] <br />";
echo $_SERVER['HTTP_HOST'], "\n\n";
?>
两个echo语句都使用相同的技术从超全局数组$ _SERVER返回HTTP_HOST索引的值?我的问题是什么导致了语法的差异?我注意到以下差异:
解析错误:语法错误,意外''(T_ENCAPSED_AND_WHITESPACE),期望标识符(T_STRING)或变量(T_VARIABLE)或数字(T_NUM_STRING)在C:\ xampp \ htdocs \ php-blog \ simple-blog \ server.php中在第2行
解析错误:语法错误,意外''\ n \ n“'(T_CONSTANT_ENCAPSED_STRING),期待','或';'在第3行的C:\ xampp \ htdocs \ php-blog \ simple-blog \ server.php
我是编程新手,需要指导,请帮忙。 谢谢!
答案 0 :(得分:4)
您的第一个语句只使用一个参数调用echo。 参数是一个包含变量的字符串。 这样做时你应该使用括号来确保php了解你的变量是否开始:
echo "{$_SERVER['HTTP_HOST']} <br>";
您还可以使用点连接字符串:
echo $_SERVER['HTTP_HOST'] . "<br>";
逗号只是一次写几个回声的另一种方式:
echo 1, 2;
与
相同echo 1;
echo 2;
答案 1 :(得分:0)
php语法允许引用双引号内的变量 例如:
$x = "hello";
echo "$x world";
类似于:
echo $x . " world";
或
echo $x , " world";
并且所有人都会输出hello world
。
请注意,不允许引用单引号内的变量,因此为了这个原因
echo '$x world';
无效。