我通过运行以下代码收到错误:
<?php
//superglobal.php
foreach($_SERVER as $var=>$value)
{
echo $var=>$value.'<br />'; //this will result in to following error:
//Parse error: syntax error, unexpected '=>' (T_DOUBLE_ARROW), expecting ',' or ';' in
//C:\xampp\htdocs\w_j_gilmore\CH_03_PHP_BASICS\superglobal.php on line 6
}
?>
以下代码成功运行
<?php
//superglobal.php
foreach($_SERVER as $var=>$value)
{
echo "$var=>$value<br />";
}
?>
单引号和双引号打印是不同的。 的 WHY吗
答案 0 :(得分:2)
2之间的区别在于,在第一个尝试使用=>
运算符时(在该位置无效,因此会导致语法错误),而在第二个您打印时恰好包含字符=
和>
的字符串。
第二个有效可以改写为:
<?php
//superglobal.php
foreach($_SERVER as $var=>$value)
{
echo $var . "=>" . $value . "<br />";
}
?>
如果您只是出于调试原因而尝试输出$_SERVER
,建议您使用var_dump
或print_r
var_dump($_SERVER);
答案 1 :(得分:1)
你没有引用字符串:
echo $var=>$value.'<br />';
引用的内容如下:
echo '$var => $value <br />';
如果单引号,则不解释变量。