日期:2014-05-17  浏览次数:20517 次

关于但双引号以及加号、点号的问题
我想在屏幕上输出 $a=1,于是写了下面这几个,但是只有最后一个是对的。
有两点想问一下,
第一点就是前面两个为什么只输出了数字,前面的"$a="和'$a='是怎么处理的?
第二点就是加号和点号在PHP中究竟各自代表了什么?前面的两个用加号为什么没报错?
<?php  
$a = 1;  
echo "$a=" + $a; // 错误2  
echo '$a=' + $a; // 错误1  
echo "$a=" . $a; // 错误1=1  
echo '$a=' . $a; // 正确$a=1  
?> 

刚刚接触PHP,看了资料,没找到这两个知识点,所以上来求助,还望各位PHP达人赐教。谢谢了!

------解决方案--------------------
双引号会解析变量,单引号不会。 . 号是字符串连接符, + 就是加
------解决方案--------------------
+ 算数运算符
. 字符串连接符

------解决方案--------------------
php会解析字符串,""则会解析内部的转义或者$,''则只会转义内部的\',其他都不管。


echo "$a=" + $a; 就是因为""内部的$,所以被换成了"1","1" + 1会转成整数,得到2,"1" . 1会转换为字符串,就是"11"