php中echo用逗号和用点号的区别

<?php	//点(连接符)、逗号、空格的测试,涉及到字符串的强制转换
echo 1+5;           //结果:6

//用点和逗号连接字符串不需要空格;而连接数字时,点(连接符)需要空格
//书写代码的时候 注意规范,任何标点符号都加空格隔开!!
echo '1+5='."1+5";  //结果:1+5=1+5;
echo '1+5=',"5+1";  //结果:1+5=1+5;
echo '1+5='. 1;		//结果:1+5=1;    用连接符,需要空格,否则报错
echo '1+5=',1;		//结果:1+5=1;    用逗号,不需要空格
echo '1+5=',100+200;//结果:1+5=300;  用逗号,常用于输出多个变量,加不加空格都不影响算法计算的结果输出;省去了字符串拼接的步骤,理论上在 echo 的时候用“逗号”会快一点。

//换成用连接符,问题就来了
echo '1+5='. 100;		//结果:1+5=100;    连接符和数字之间需要空格,否则报错		
echo '1+5='. 100+200;	//结果:201;        此处结果开始异常了
echo '1+5='. 200+100;   //结果:101;
echo ('1+5='. 200)+100; //结果:101; 从与上面的结果相同可以看出,连接符的优先级高于运算符

//结果分析:先来看看字符串的强制转换
echo (int)'abc1';    //结果:0;
echo (int)'1abc';    //结果:1;
echo (int)'22abc';   //结果:22;
//结果:将一个字符串强制转换成一个数字,PHP会去搜索这个字符串的开头,
//如果开头是数字就转换,如果不是就直接返回0.
?>

echo '1+5='. 100+200;
程序是这样执行的,
先连接 '1+5='. 100 结果是字符串 '1+5=100',
然后执行运算,字符串要与数字进行运算会被系统强制转换,字符串'1+5=100'转换后的值就是1,
最后1+200=201.

用逗号为什么没问题呢?
手册上说了:用逗号是multiple parameters .也就是说是多参数,
换句话说,逗号分隔开的就相当于是N个参数.也就是说把echo当个函数用,
这样的话,echo会对每个参数先进行计算,最后再进行分别输出,所以我们用逗号就不存在上面的问题了

结论:书写代码的时候 注意规范,任何标点符号都加空格隔开!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值