比如:
1. echo 'abc'.'def'; //用点号连接字符串 
2. echo 'abc','def'; //用逗号连接字符串 
也许很多人都知道逗号要比点号快.但是不知道为什么.更不知道这两者到底有什么区别.
那么下面我们就举一些例子.来认清楚他们之前的区别.
1. echo '1+5=' . 1+5; 
看看上面的.输出的结果是6..而不是1+5=6.有些神奇吧?
更神奇的是你看下面的例子.

1. echo "1+5=" . 5+1;    //输出2
结果十分奇怪.我们看到.我们把5和1换下位置.结果就变成2了.
为什么会这样.难道在PHP中加法是没有交换律的?当然不是..
我们先不去想为什么.如果我把上面的点号换成逗号试下.
1. echo '1+5=' , 5+1;    //输出 1+5=6 
2. echo '1+5=' , 1+5;    //输出 1+5=6 
可以看出.只有使用逗号我们才可以得到意料中的结果.
那为什么点号就不行呢?逗号为什么就行呢?
1. echo ('1+5' . 5)+1; //输出2 
我们给前面的加个括号后.得到的结果是一样的.证明PHP是先连接字符串再进行加法计算了.按照从左向右的方向进行的.
那么好.既然是先连接的字符串.那么就应该是"1+55"了.然后再用这个字符串加上1.那为什么就会输出2呢?
这个跟PHP中字符串变成数字的机制是相关的.我们来看下面的例子
1. echo (int)'abc1';   //输出0 
2. echo (int)'1abc'; //输出1 
3. echo (int)'2abc'; //输出2 
4. echo (int)'22abc'; //输出22 
从上面的例子我们可以看出.如果将一个字符串强制转换成一个数字.PHP会去搜索这个字符串的开头.如果开头是数字就转换.如果不是就直接返回0.
回到刚才的1+55.既然这个字符串是1+55.所以强制类型转换后就应该是1了.在此基础上加1.当然是2了.
为了证明我们的猜想.我们来验证一下.
1. echo '5+1=' . 1+5; //输出10 
2. echo '5+1=' . 5+1; //输出6 
3. echo '1+5=' . 1+5; //输出6 
4. echo '1+5=' . 5+1; //输出2 
结果证明.我们的设想是正确的.
那么为什么使用逗号就没有上面的问题了呢?
手册上说了.用逗号是multiple parameters.
也就是说是多参数.换句话说.
逗号分隔开的就相当于是N个参数.也就是说把echo当个函数用.
这样的话.echo会对每个参数先进行计算.最后再进行连接后输出.所以我们用逗号就不存在上面的问题了

个性签名:做要做好,做到不三不四不如不做。

转载于:https://www.cnblogs.com/xiaorenwu702/p/6148331.html

[PHP] - 逗号和点号的区别相关推荐

  1. php点号的意思,[PHP] - 逗号和点号的区别

    [PHP] - 逗号和点号的区别 比如: 1. echo 'abc'.'def'; //用点号连接字符串 2. echo 'abc','def'; //用逗号连接字符串 也许很多人都知道逗号要比点号快 ...

  2. php 点号作用,探讨:PHP中逗号与点号的区别

    在php中,逗号要比点号快,究竟原因有几何呢?本文将为大家一一说来. 先看代码: echo 'abc'.'def'; //用点号连接字符串 echo 'abc','def'; //用逗号连接字符串 / ...

  3. 深入解析PHP中逗号与点号的区别

    大部分同学都知道逗号要比点号快,但就是不知道为什么,更不知道逗号与点号这两者之间到底有什么区别.下面小编就来详细的为大家介绍一下,需要的朋友可以过来参考下 echo 'abc'.'def'; //用点 ...

  4. PHP - 逗号和点号的区别

    php点号(.)和逗号(,)作用都是链接字符串 echo '点'.'号': //用点号连接字符串 输出 点号 echo '逗','号': //用逗号连接字符串 输出 逗号效果是一样的,但还是有很大区别 ...

  5. php 点号作用,PHP - 逗号和点号的区别

    php点号(.)和逗号(,)作用都是链接字符串 echo '点'.'号': //用点号连接字符串 输出 点号 echo '逗','号': //用逗号连接字符串 输出 逗号 效果是一样的,但还是有很大区 ...

  6. php 点号 的用法,基于php中echo用逗号和用点号的区别详解

    php 的 基于php中echo用逗号和用点号的区别详解 实例如下: echo 1+5; echo " "; echo '1+5='."1+5"." ...

  7. php中的点号,PHP中逗号与点号有什么区别

    PHP中逗号与点号有什么区别 发布时间:2021-01-14 16:32:46 来源:亿速云 阅读:103 作者:Leah 本篇文章为大家展示了PHP中逗号与点号有什么区别,内容简明扼要并且容易理解, ...

  8. (双引号)与 ' '(单引号)的区别

    " "(双引号)与 ' '(单引号)的区别 还是回到我们的command line来吧 经过前面的学习,应该很清楚当你在shell prompt后面敲打键盘.直到按下enter的时 ...

  9. 服务器和微信公众号的区别,微信小程序和公众号的区别,看这三点就懂了

    原标题:微信小程序和公众号的区别,看这三点就懂了 第一点就是定位不同,小程序主要用来面向产品和服务,而公众号则是用于销售和传递信息.小程序在功能上和公众号有本质的区别(不支持关注,没有粉丝体系.消息推 ...

最新文章

  1. c7pro android7,三星c7pro和iphone7哪个值得买?三星Galaxy c7 pro和苹果iphone7区别对比详细评测...
  2. 障碍期权定价 python_[宜配屋]听图阁
  3. intouch负值显示0_excel 应用中计算结果显示为负数,使负数显示为0应如何操作?...
  4. bugzilla dbd-mysql_在Red Hat Linux下安装配置Bugzilla
  5. 错误fatal error: zlib.h: 没有那个文件或目录的解决办法
  6. php获取访问浏览器,php获取访问者浏览器
  7. 如何在一个html页面中提交两个post,如何在同一个页面上从Django和Ajax获得多个post请求?...
  8. [转]阿里云配置mysql远程连接
  9. 调整oracle数据库编码
  10. MySQL | MySQL 数据库系统(四)- 数据库的备份与恢复
  11. Kaldi AMI数据集脚本学习6---转移模型(Transition Model)
  12. Delphi XE 10.2.3如何添加PDF阅读器组件
  13. web前端工程师岗位职责、岗位要求
  14. SAS: PROC IMPORT简单入门介绍
  15. 长连接如何转换为短连接格式呢?
  16. java x86 x64_jdk x86与jdk x64 有什么区别
  17. TypeError: parentComponent.ctx.deactivate is not a function
  18. 二十、融会贯通之全流程操作
  19. win10 计算机磁盘加内存,内存不够用?教你给Win10系统增加C盘空间
  20. 同花顺编程入门(一)

热门文章

  1. 收藏 | 12个神经网络可视化工具!
  2. 收藏 | 万字长文带你理解Pytorch官方Faster RCNN代码
  3. 【资源】《可解释的机器学习》,让机器学习不再神秘!
  4. 带你自学Python系列(十一):Python函数的用法(一)
  5. 大数据预测实战-随机森林预测实战(四)-模型调参
  6. nginx location proxy_pass 后面的url 加与不加/的区别
  7. java 所有路径算法_经典算法题:二叉树的所有路径
  8. 使用 Windows Sysinternals 工具进行故障排除
  9. winform中openfiledialog过滤压缩文件格式_5种最佳摄影师图像文件格式
  10. C++基础学习8:类的定义(class)