`

echo的逗号与点号

PHP 
阅读更多

echo中是可以用逗号来连接字符串的

比如:

echo 'abc'.'def';  //用点号连接字符串 

echo 'abc','def';  //用逗号连接字符串

 

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

echo '1+5=' . 1+5; 

看看上面的.输出的结果是6而不是1+5=6.有些神奇吧?

更神奇的是你看下面的例子.

 echo "1+5=" . 5+1;   

//输出2结果十分奇怪.我们看到.我们把5和1换下位置.结果就变成2了.

为什么会这样.难道在PHP中加法是没有交换律的?当然不是..

我们先不去想为什么.如果我把上面的点号换成逗号试下.

echo '1+5=' , 5+1;   

 //输出 1+5=6 

 echo '1+5=' , 1+5;   

 //输出 1+5=6

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

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

echo ('1+5' . 5)+1; 

//输出2

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

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

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

echo (int)'abc1';  

 //输出0 

echo (int)'1abc'; 

 //输出1 

 echo (int)'2abc';

  //输出2 

echo (int)'22abc'; 

//输出22

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

回到刚才的1+55.既然这个字符串是1+55.所以强制类型转换后就应该是1了.在此基础上加1.当然是2了.

为了证明我们的猜想.我们来验证一下.

echo '5+1=' . 1+5; 

//输出10 

echo '5+1=' . 5+1; 

//输出6 

echo '1+5=' . 1+5; 

//输出6 

echo '1+5=' . 5+1; 

//输出2

结果证明.我们的设想是正确的.

那么为什么使用逗号就没有上面的问题了呢?

手册上说了.用逗号是multiple parameters .

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

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

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

分享到:
评论

相关推荐

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

    在PHP编程语言中,逗号(,)和点号(.)经常被用来处理字符串和表达式,但它们的作用和行为并不相同。本篇文章将深入探讨这两种运算符的区别。...正确使用逗号和点号能够帮助开发者写出更清晰、更可预测的代码。

    基于php中echo用逗号和用点号的区别详解

    在使用`echo`时,我们可以用逗号(`,`)或者点号(`.`)来连接字符串,但是它们在使用时有一些区别。 首先,我们来看用点号(`.`)连接字符串的情况。点号是PHP中的字符串连接符,它用于将两个字符串拼接在一起,...

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

    当我们需要连接字符串和其他数据类型时,可以使用点号"."或者逗号","进行连接。在进行字符串拼接操作时,使用逗号和点号可能会导致不同的结果,以下将详细分析这两种连接方式的区别以及影响输出结果的原因。 首先,...

    php代码-echo语句

    与`print`语句类似,`echo`也是用于输出数据,但通常比`print`稍快一些,因为`echo`不返回任何值,而`print`会返回`true`。 **1. echo语句的基本使用** ```php echo "Hello, World!"; ``` 在这个例子中,`echo`用于...

    PHP中echo和print的区别

    `echo`的独特之处在于它可以一次输出多个字符串,这些字符串之间用逗号分隔,例如: ```php echo 'a', 'b', 'c'; ``` 这种用法在输出多个值时非常方便,而无需使用额外的点号(.)连接字符串。如果尝试在`print`中...

    PHPER代码优化建议

    3. 字符串连接:使用echo的多重参数(用逗号分隔)而非点号连接字符串,以提高速度。 4. 预先计算循环次数:在for循环前确定最大循环数,避免每次循环都进行计算。 5. 释放内存:及时注销不再使用的变量,尤其是...

    PHP编码技巧.pdf

    - 在需要连续输出多个字符串时,使用逗号分隔而不是点号,如 `echo "text1", "text2"`,这样可以减少字符串连接操作。 3. **循环优化**: - 在循环外预先计算最大迭代次数,避免在循环内部进行计算。 - 避免在...

    shell脚本之特殊符号总结性梳理

    在上面的例子中,点号代表当前目录。 6.单引号(single quote) 单引号(')符号将括住的内容视为单一字串。在引号内的变量符号不会被替换。例如: ``` heyyou=home echo '$heyyou' # 输出 $heyyou ``` 7.双引号...

    优化PHP代码的40条建议

    29. 逗号分隔字符串:在 echo 中使用逗号分隔字符串比使用点号更快。 30. 静态 HTML 与 PHP 脚本:尽可能使用静态 HTML 页面,减少 PHP 脚本的使用,因为 Apache 解析 PHP 脚本的时间远长于 HTML。 31. PHP 脚本...

    php技巧php技巧

    25. **逗号分隔符**:在输出字符串时,使用逗号替代点号作为分隔符,对于`echo`来说更高效。 26. **静态HTML页面**:在Apache服务器上,PHP脚本页面的生成时间通常是静态HTML页面的2-10倍,建议使用静态HTML减轻...

    40条优化php代码的小实例

    25. **字符串连接优化**:在输出字符串时,使用逗号代替点号进行字符串连接,仅适用于echo函数,可提高效率。 26. **静态页面与动态页面的性能差距**:在Apache服务器下,PHP脚本页面的生成时间至少是相应静态HTML...

    编写高效率的PHP代码.ppt

    - **利用echo的多重参数**:使用echo的多个参数(用逗号分隔)比使用字符串连接(用点号 `. ` 分隔)更快。 - **避免不必要的变量引用**:例如,`echo 'sinapay', $version, 'is best';` 比 `echo "Sinapay $...

    50点提高PHP编程效率 引入缓存提升性能

    4. echo 优于 print:echo 在处理多个参数时更快,尤其是使用逗号分隔字符串,而不是使用点号连接。 5. 避免不必要的循环计算:在 for 循环前预先计算最大迭代次数,减少循环内的计算。 6. 及时注销变量:尤其是...

    php笔试考的基础试题

    1. echo、print、print_r()的区别是echo是语言结构,可以一次输出多个值,多个值之间用逗号分隔。print()是函数,只可以同时输出一个字符串,一个参数,返回值是true或false。print_r()可以把字符串和数字简单的打印...

    php number_format() 函数通过千位分组来格式化数字的实现代码

    这段代码将输出 "1.000.000,00",这里我们指定了逗号为千位分隔符,点号为小数点字符。 要正确使用number_format()函数,开发者需要根据实际需求选择合适的参数。比如在处理货币时,可能需要使用特定的分隔符和...

Global site tag (gtag.js) - Google Analytics