如何优化php字符串echo输出 逗号也可作php连接符
2012-11-20 11:44
363 查看
今天发现有这么一段代码:发现逗号也可以做php连接符
$file = 'custom.txt';
if(file_exists($file)) {
echo $file,'存在<br />';
echo '上次修改时间是',date('Y-m-d H:i:s',filemtime($file));
} else {
echo '不存在 ';
}
如下4种方式,都能得到同样的结果,但是,只有第4种方式是最好的。
$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.';
我敢肯定你们都知道echo '$foo'是不会工作的,但是,我十分肯定的告诉你,那就是使用双引号去显示一个简单的信息,那是非常不好的。
让我们开始吧。第一个不能运行(第二个也一样),因为使用双引号会强制php为此字符串寻找替换值。
第二个好一些,因为php没有替换需要执行的。
第三个更好,因为使用了单引号,因此语言知道你能够脱离进程传送文本,但是“不好”的事情是使用了连接符(不操作,就行第二个例子一样)。
最后一个使用了单引号,并且加了一个连接符。为什么这样处理最好呢?
好吧,让我们看看当使用第三种方法时会发生什么。
php创建一个字符串,包含“Hello”,然后扩充它,加上foo变量(“John SMITH”),然后,再次扩充它,加上“Welcome on my website.”语句,然后,echo能使用它。
然而第四个例子,echo唯一做的一件事是发送“Hello”,接着输出$foo的内容,再输出“Welcome on my website.”。因为echo仅仅是发送文本而没有创建一个需要扩充内容的字符串。
在上述第四个例子里,发现原来“,”逗号也可作php的连接符的,我们大家一般都是使用一点“.”作连接符的。
据说,这可能是从C开始带过来的习惯,printf这类的输出都是变参的,echo也继承了这个优良传统。不过需要明白的是,这里的逗号是参数间隔符,不是字符串连接符。
希望这篇文章对大家对连接符有更深的认识
$file = 'custom.txt';
if(file_exists($file)) {
echo $file,'存在<br />';
echo '上次修改时间是',date('Y-m-d H:i:s',filemtime($file));
} else {
echo '不存在 ';
}
如下4种方式,都能得到同样的结果,但是,只有第4种方式是最好的。
$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.';
我敢肯定你们都知道echo '$foo'是不会工作的,但是,我十分肯定的告诉你,那就是使用双引号去显示一个简单的信息,那是非常不好的。
让我们开始吧。第一个不能运行(第二个也一样),因为使用双引号会强制php为此字符串寻找替换值。
第二个好一些,因为php没有替换需要执行的。
第三个更好,因为使用了单引号,因此语言知道你能够脱离进程传送文本,但是“不好”的事情是使用了连接符(不操作,就行第二个例子一样)。
最后一个使用了单引号,并且加了一个连接符。为什么这样处理最好呢?
好吧,让我们看看当使用第三种方法时会发生什么。
php创建一个字符串,包含“Hello”,然后扩充它,加上foo变量(“John SMITH”),然后,再次扩充它,加上“Welcome on my website.”语句,然后,echo能使用它。
然而第四个例子,echo唯一做的一件事是发送“Hello”,接着输出$foo的内容,再输出“Welcome on my website.”。因为echo仅仅是发送文本而没有创建一个需要扩充内容的字符串。
在上述第四个例子里,发现原来“,”逗号也可作php的连接符的,我们大家一般都是使用一点“.”作连接符的。
据说,这可能是从C开始带过来的习惯,printf这类的输出都是变参的,echo也继承了这个优良传统。不过需要明白的是,这里的逗号是参数间隔符,不是字符串连接符。
希望这篇文章对大家对连接符有更深的认识
相关文章推荐
- 优化php代码 - 字符串echo输出 逗号也可作php连接符
- php常用字符串输出方法分析(echo,print,printf及sprintf) 原创
- PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
- PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
- PHP 字符串输出 echo、print 与 printf 函数
- 如何把一个逗号分隔的字符串转换成数组 并且倒序输出
- 教你如何使用PHP输出中文JSON字符串
- php常用字符串输出方法分析(echo,print,printf及sprintf) 原创
- php中各种输出字符串的区别echo、print、print_r和printf 的区别 (转)
- PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
- PHP 输出字符串(echo,print,printf,sprinf,print_r,var_dump)
- PHP学习之输出字符串(echo,print,printf,print_r和var_dump) (转载)
- php 输出带变量字符串(echo 函数的应用)
- PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
- 教你如何使用PHP输出中文JSON字符串
- PHP的echo输出大的字符串会很慢的解决方法
- PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
- php如何输出中文json格式字符串
- PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
- PHP中输出字符串(echo,print,printf,print_r,var_dump)