我想在屏幕上输出 $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达人赐教。谢谢了!

解决方案 »

  1.   


    那为什么echo "$a=" + $a; 输出的是2?这个2是怎么来的,还有echo '$a=' + $a; 输出的是1,这个1又是怎么来的呢?谢谢了先。
      

  2.   

    php会解析字符串,""则会解析内部的转义或者$,''则只会转义内部的\',其他都不管。
    echo "$a=" + $a; 就是因为""内部的$,所以被换成了"1","1" + 1会转成整数,得到2,"1" . 1会转换为字符串,就是"11"