PHP中逗号与点号有什么区别

介绍

本篇文章为大家展示了PHP中逗号与点号有什么区别,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

代码如下:


,回声& # 39;abc # 39;强生# 39;def # 39;;//用点号连接字符串
,回声& # 39;abc # 39; & # 39; def # 39;;//用逗号连接字符串


那么下面我们就举一些例子。来认清楚他们之前的区别。

代码如下:


,回声& # 39;1 + 5=& # 39;。1 + 5;


看看上面的。输出的结果是6 . .而不是1 + 5=6。有些神奇吧?
更神奇的是你看下面的例子。

代码如下:


,呼应“1 + 5=?。5 + 1,,//输出2


结果十分奇怪。我们看的到。我们把5和1换下位置。结果就变成2了。
为什么会这样。难道在PHP中加法是没有交换律的?当然不是。
我们先不去想为什么。如果我把上面的点号换成逗号试下。

代码如下:


,回声& # 39;1 + 5=& # 39;,5 + 1;//输出1 + 5=6
,回声& # 39;1 + 5=& # 39;,1 + 5;//输出1 + 5=6


可以看出。只有使用逗号我们才可以得到意料中的结果。
那为什么点号就不行呢?逗号为什么就行呢?

代码如下:


,回声(& # 39;1 + 5 & # 39;。5)+ 1;//输出2


我们给前面的加个括号后,得到的结果是一样的。证明PHP是先连接字符串再进行加法计算了。按照从左向右的方向进行的。

那么好。既然是先连接的字符串。那么就应该是“1 + 55“了。然后再用这个字符串加上1。那为什么就会输出2呢?
这个跟PHP中字符串变成数字的机制是相关的。我们来看下面的例子

代码如下:


,回声(int) & # 39;他们# 39;,,//输出0
,回声(int) & # 39; 1 abc # 39;;//输出1
,回声(int) & # 39; 2 abc # 39;;//输出2
,回声(int) & # 39; 22 abc # 39;;//输出22


从上面的例子我们可以看出。如果将一个字符串强制转换成一个数字。php会去搜索这个字符串的开头。如果开头是数字就转换。如果不是就直接返回0。

回到刚才的1 + 55。既然这个字符串是1 + 55。所以强制类型转换后就应该是1了。在此基础上加1,当然是2了。
为了证明我们的猜想。我们来验证一下。

代码如下:


,回声& # 39;5 + 1=& # 39;。1 + 5;//输出10
,回声& # 39;5 + 1=& # 39;。5 + 1;//输出6
,回声& # 39;1 + 5=& # 39;。1 + 5;//输出6
,回声& # 39;1 + 5=& # 39;。5 + 1;//输出2


结果证明。我们的设想是正确的。
<强>那么为什么使用逗号就没有上面的问题了呢?
强也就是说是多参数。换句话说。
逗号分隔开的就相当于是N个参数。也就是说把回声当个函数用。

上述内容就是PHP中逗号与点号有什么区别,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

PHP中逗号与点号有什么区别