php中回声用逗号和用点号连接的区别是什么

  介绍

今天就跟大家聊聊有关php中回声用逗号和用点号连接的区别是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

, php & lt; ?   ,//逗号比。更节省时间?   ,echo  & # 39; 1 + 5=& # 39;,只1 + 5,,   ,echo  & # 39; 1 + 5=& # 39;,只5 + 1;

结果是什么?

1 + 5=6 ?   1 + 5=6 ?   - - -   6 ?   2呢?   - - -   6.6 ?   6.6 ?   - - - - - -

我只能说回声& # 39;5 + 1=& # 39;。1 + 5;的结果是10,所以结果是6和2。

为什么会这样。难道在PHP中加法是没有交换律的?当然不是. .
我们先不去想为什么。如果我把上面的点号换成逗号试下。

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

可以看出。只有使用逗号我们才可以得到意料中的结果。

那为什么点号就不行呢?逗号为什么就行呢?

echo (& # 39; 1 + 5 & # 39;,又是;5)+ 1,,//输出2

我们给前面的加个括号后,得到的结果是一样的。

证明php是先连接字符串再进行加法计算了。按照从左向右的方向进行的。

那么好。既然是先连接的字符串。那么就应该是“1 + 55“了。然后再用这个字符串加上1。那为什么就会输出2呢?

这个跟php中字符串变成数字的机制是相关的。我们来看下面的例子

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

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

如果不是就直接返回0。

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

echo  & # 39; 5 + 1=& # 39;,只1 + 5,,//输出10   echo  & # 39; 5 + 1=& # 39;,只5 + 1,,//输出6   echo  & # 39; 1 + 5=& # 39;,只1 + 5,,//输出6   echo  & # 39; 1 + 5=& # 39;,只5 + 1,,//输出2

结果证明。我们的设想是正确的。
那么为什么使用逗号就没有上面的问题了呢?

手册上说了。多个参数用逗号是。

也就是说是多参数。换句话说。

逗号分隔开的就相当于是N个参数。也就是说把回声当个函数用。

这样的话.echo会对每个参数先进行计算。最后再进行连接后输出,所以我们用逗号就不存在上面的问题了:)

php echo手册

& lt; php ?//,Strings 还要either  be  passed  individually  as  multiple  arguments 或//,concatenated  together 以及passed  as  a  single 争论   echo  & # 39;却;能够& # 39;,& # 39;string  & # 39;, & # 39; was  & # 39;, & # 39; made  & # 39;, & # 39; with  multiple 参数# 39;公司,杆(10);   echo  & # 39;却;能够& # 39;,只& # 39;string  & # 39;,只& # 39;was  & # 39;,只& # 39;made  & # 39;,只& # 39;with 串联# 39;公司,只“\ n"

至于为啥快,可以简单理解,用。是先拼接在呼应,虽然逗号个数代表呼应的调用次数(可以这么理解暂时)。
但是拼接的速度要小于回波的速度。
如果深入理解,VLD如下图。是@tywei大神的图

 php中回声用逗号和用点号连接的区别是什么”> <br/> </p> <p class=看完上述内容,你们对php中回声用逗号和用点号连接的区别是什么有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

php中回声用逗号和用点号连接的区别是什么