Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE

/ 0评 / 1

在编码过程中,出现了这样的一个错误:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in...

源码测试:

<?php
    header("Content-type:text/html; charset=utf-8");
    echo 123,'沃尔沃'; //注意格式

   //注意这个里的action里的值
    echo "<form action=\"$_SERVER['PHP_SELF']\" method=\"post\">请输入:<input type=\"text\"/> </form>";
?>

1、接触php这么久,没想到echo输出还有这样的写法。echo 输出内容还能以","逗号间隔的输出。以前几乎重没留意过。。。之前只了解echo 对单引号与双引号的区别。

 

2、上面那个错误则是action=\"$_SERVER['PHP_SELF']\"这个格式造成的。解决方案则是加上action=\"{$_SERVER['PHP_SELF']}\" 

有关大括号{} 的应用则是,在字符串中隔开变量与字符的作用。 还有如:$str = 'abc'; echo $str{1}; 不过中文字符因为编码原因不能显示。

 

网上的有关信息:

     将多个独立语句合并为一个复合语句,例如 if ... else ...中经常如此使用
    在变量间接引用中进行定界,避免歧义。例如 ${$my_var[8]}与${$my_var}[8]的区分
    用于指示字符串变量中的单个字符(下标从0开始),例如
   $my_str="1234";
   $my_str{1}='5';  //现在 $my_str 内容为 '1534'
    此用法为 5之后的特性,用于消除使用中括号引起的歧义

 

 

发表评论

您的电子邮箱地址不会被公开。

*