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编程语言中,逗号(,)和点号(.)经常被用来处理字符串和表达式,但它们的作用和行为并不相同。本篇文章将深入探讨这两种运算符的区别。...正确使用逗号和点号能够帮助开发者写出更清晰、更可预测的代码。
在使用`echo`时,我们可以用逗号(`,`)或者点号(`.`)来连接字符串,但是它们在使用时有一些区别。 首先,我们来看用点号(`.`)连接字符串的情况。点号是PHP中的字符串连接符,它用于将两个字符串拼接在一起,...
当我们需要连接字符串和其他数据类型时,可以使用点号"."或者逗号","进行连接。在进行字符串拼接操作时,使用逗号和点号可能会导致不同的结果,以下将详细分析这两种连接方式的区别以及影响输出结果的原因。 首先,...
与`print`语句类似,`echo`也是用于输出数据,但通常比`print`稍快一些,因为`echo`不返回任何值,而`print`会返回`true`。 **1. echo语句的基本使用** ```php echo "Hello, World!"; ``` 在这个例子中,`echo`用于...
`echo`的独特之处在于它可以一次输出多个字符串,这些字符串之间用逗号分隔,例如: ```php echo 'a', 'b', 'c'; ``` 这种用法在输出多个值时非常方便,而无需使用额外的点号(.)连接字符串。如果尝试在`print`中...
3. 字符串连接:使用echo的多重参数(用逗号分隔)而非点号连接字符串,以提高速度。 4. 预先计算循环次数:在for循环前确定最大循环数,避免每次循环都进行计算。 5. 释放内存:及时注销不再使用的变量,尤其是...
- 在需要连续输出多个字符串时,使用逗号分隔而不是点号,如 `echo "text1", "text2"`,这样可以减少字符串连接操作。 3. **循环优化**: - 在循环外预先计算最大迭代次数,避免在循环内部进行计算。 - 避免在...
在上面的例子中,点号代表当前目录。 6.单引号(single quote) 单引号(')符号将括住的内容视为单一字串。在引号内的变量符号不会被替换。例如: ``` heyyou=home echo '$heyyou' # 输出 $heyyou ``` 7.双引号...
29. 逗号分隔字符串:在 echo 中使用逗号分隔字符串比使用点号更快。 30. 静态 HTML 与 PHP 脚本:尽可能使用静态 HTML 页面,减少 PHP 脚本的使用,因为 Apache 解析 PHP 脚本的时间远长于 HTML。 31. PHP 脚本...
25. **逗号分隔符**:在输出字符串时,使用逗号替代点号作为分隔符,对于`echo`来说更高效。 26. **静态HTML页面**:在Apache服务器上,PHP脚本页面的生成时间通常是静态HTML页面的2-10倍,建议使用静态HTML减轻...
25. **字符串连接优化**:在输出字符串时,使用逗号代替点号进行字符串连接,仅适用于echo函数,可提高效率。 26. **静态页面与动态页面的性能差距**:在Apache服务器下,PHP脚本页面的生成时间至少是相应静态HTML...
- **利用echo的多重参数**:使用echo的多个参数(用逗号分隔)比使用字符串连接(用点号 `. ` 分隔)更快。 - **避免不必要的变量引用**:例如,`echo 'sinapay', $version, 'is best';` 比 `echo "Sinapay $...
4. echo 优于 print:echo 在处理多个参数时更快,尤其是使用逗号分隔字符串,而不是使用点号连接。 5. 避免不必要的循环计算:在 for 循环前预先计算最大迭代次数,减少循环内的计算。 6. 及时注销变量:尤其是...
1. echo、print、print_r()的区别是echo是语言结构,可以一次输出多个值,多个值之间用逗号分隔。print()是函数,只可以同时输出一个字符串,一个参数,返回值是true或false。print_r()可以把字符串和数字简单的打印...
这段代码将输出 "1.000.000,00",这里我们指定了逗号为千位分隔符,点号为小数点字符。 要正确使用number_format()函数,开发者需要根据实际需求选择合适的参数。比如在处理货币时,可能需要使用特定的分隔符和...