文档章节

echo 及,和 . 区别

2007lf
 2007lf
发布于 2015/02/16 13:14
字数 499
阅读 13
收藏 0

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

$foo = 'John SMITH';
echo "Hello $foo, welcome on my website.";
echo "Hello " . $foo . " welcome on my website.";
echo 'Hello ' . $foo . ' welcome on my website.';
echo 'Hello ', $foo , ' welcome on my website.';

4种方式,都能得到同样的结果,但是,只有第4种方式是最好的。原因如下
1.字符串始终使用单引号代替双引号,以避免PHP搜索字符串内的变量导致的性能下降。 用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会。
2.逗号连接字符串,要比点号速度更快

echo '1+5=' . 1+5;//输出的结果是6,而不是1+5=6.
echo '1+5=' . 5+1;//输出的结果是2.

上面如果把点号换成逗号,就会得到我们想要的结果了

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.

手册上说了.用逗号是multiple parameters .
也就是说是多参数.换句话说.
逗号分隔开的就相当于是N个参数.也就是说把echo当个函数用.
这样的话.echo会对每个参数先进行计算.最后再进行连接后输出.




© 著作权归作者所有

2007lf
粉丝 8
博文 200
码字总数 43607
作品 0
合肥
程序员
私信 提问
加载中

评论(0)

ant中depends调用任务和antcall调用任务的区别

在使用ant的时候,有时用 A: ${war.name} 有时用 B: ${war.name} 两种方法有什么不同呢? 通常来看,感觉没什么不同,其

唐玄奘
2017/12/20
0
0
[PHP] - 逗号和点号的区别

[PHP] - 逗号和点号的区别 比如: 1. echo 'abc'.'def'; //用点号连接字符串 2. echo 'abc','def'; //用逗号连接字符串 也许很多人都知道逗号要比点号快.但是不知道为什么.更不知道这两者到底......

李佳顺
2012/04/26
55
0
关于shell脚本的一些容易混淆的概念

$@和$*的区别 [lf@x201t~]$vim my_fun.sh #!/bin/bash # $@ and $* my_fun (){ echo "$#" } echo 'the number of parameter in "$@" is' $(my_fun "$@") echo 'the number of parameter in $......

xiguatian
2016/06/26
0
0
一个脚本实例浅析shell脚本中$@与$*的区别

我们经常会在脚本中用到$@和$*这两个变量,但是可能许多人只是知道这两个变量存储的是所有的命令行参数,但是其具体差别并不一定知道。所以这里我用一个脚本实例来分析一下这两个变量的区别。...

文皓
2014/07/24
0
0
php中strstr、strrchr、substr、stristr四个函数的区别总结

这篇文章主要介绍了php中strstr、strrchr、substr、stristr四个函数的区别总结,这4个函数是PHP中常用的字符串相关函数,需要的朋友可以参考下 php中strstr、strrchr、substr、stristr四个函数...

bengozhong
2016/08/25
38
0

没有更多内容

加载失败,请刷新页面

加载更多

如何将新的本地分支推送到远程Git存储库并进行跟踪?

问题: I want to be able to do the following: 我希望能够做到以下几点: Create a local branch based on some other (remote or local) branch (via git branch or git checkout -b ) 基......

技术盛宴
35分钟前
20
0
Python笔记:记pandas中几个好用的函数

pandas是python数据分析常用的库之一!从数据加载到预处理,从数据分析到可视化,pandas提供了一站式服务。而以下这几个聚合统计函数,更是好用! 本文主要讲解pandas中的7个聚合统计相关函数...

tengyulong
今天
23
0
使用“ let”和“ var”有什么区别? - What's the difference between using “let” and “var”?

问题: ECMAScript 6 introduced the let statement . ECMAScript 6引入了let语句 。 I've heard it that it's described as a "local" variable, but I'm still not quite sure how it beh......

javail
今天
17
0
如何将文件重置或还原到特定版本? - How can I reset or revert a file to a specific revision?

问题: I have made some changes to a file which has been committed a few times as part of a group of files, but now want to reset/revert the changes on it back to a previous ver......

fyin1314
今天
24
0
OSChina 周五乱弹 —— 头发和不要头发,你总要选一个

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @薛定谔的兄弟 :分享洛神有语创建的歌单「我喜欢的音乐」: 《雾 缀じた街 ふたつのかげ》- Porkkana 手机党少年们想听歌,请使劲儿戳(这里)...

小小编辑
今天
59
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部