手机版

php编程中用逗号和点连接的echo的区别

时间:2021-11-06 来源:互联网 编辑:宝哥软件园 浏览:

提到使用了echo string,比。连接。先不说原因,先看下面两句。

?Php //逗号比。echo“1 5=”。1 5;echo“1 5=”。5 1;结果如何呢?

1 5=6?1 5=6?——————6?2?——————6.6?6.6?33543————我只能说echo‘5 1=’。1 5;结果是10,所以结果是6和2。

为什么呢?PHP中加法没有交换法则吗?当然不.我们不要想为什么。如果我把上面的点改成逗号,试试看。

echo '1 5=',5 1;//输出1 5=6回声' 1 5=',1 5;//输出1 5=6。只有使用逗号,我们才能得到预期的结果。

那为什么不能用点呢?为什么逗号就够了?

回声(' 1 5 '。5) 1;//输出2我们在前面加一个括号之后,得到的结果是一样的。

证明PHP先连接字符串,然后再添加。这是从左到右做的。

嗯,既然是先连起来的字符串,应该是‘155’。然后给这个字符串加1。那它为什么输出2?

这与PHP中字符串变成数字的机制有关。让我们看看下面的例子。

echo(int)' abc1 ';//输出0 echo(int)' 1ab c ';//输出1e CHO(int)' 2bc ';//输出2 echo(int)' 22ab c ';//输出22从上面的例子中,我们可以看到,如果一个字符串被强制转换成数字,PHP会搜索字符串的开头。如果开头是一个数字,它将被转换。

如果没有,只需返回0。

回到刚才的1 55。由于此字符串为1 55,因此在强制类型转换后应为1。在此基础上,增加1。当然是2。为了证明我们的猜测,让我们验证一下。

echo“5 1=”。1 5;//输出10echo '5 1='。5 1;//输出6 echo“1 5=”。1 5;//输出6 echo“1 5=”。5 1;//输出2结果证明我们的假设是正确的。那么为什么在使用逗号时不存在上述问题呢?

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

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

逗号分隔相当于n个参数,这意味着使用echo作为函数。

在这种情况下,echo将首先计算每个参数,然后在连接后输出。因此,当我们使用逗号时,上述问题将不会存在。

php回声手册

?php//Strings既可以作为多个参数单独传递,也可以//连接在一起作为单个参数传递' This ',' string ',' was ',' made ','带有多个参数',chr(10);呼应“这”。字符串。曾经是。“制造”。'带连接'。\ n ';至于它为什么快,可以简单理解为使用。首先在echo中拼接,虽然逗号的个数代表echo的调用次数(可以理解为临时)。但是缝合的速度比回声要慢。如果深刻理解,VLD是这样的。这是一张@tywei的照片。

上面有一个CONCAT,下面有一个echo。

版权声明:php编程中用逗号和点连接的echo的区别是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。