正常人在遇到字符串和变量拼接时,往往会写如下代码
$username = 'Stussy';
$level = '白金';
echo "欢迎".$username.$level."会员";
乍看上去没毛病,实际我们来分析一下这段代码执行流程
- 创建一个临时字符串
- 把”欢迎”加入字符串
- 把变量
$username
加入字符串 - 把变量
$level
加入字符串 - 创建一个新的临时字符串
- 放入第一次创建的字符串
- 把”会员”加入字符串
- 发送最终的临时字符串,打印到屏幕上
看上去很简单的功能,实际上变得非常复杂。那么如何处理呢,答案就是将字符串拼接的’,’替换为’.’。
那我们用实际的代码来测试一下:
$time = microtime(1);
$username = 'Stussy';
$level = '白金';
echo "欢迎".$username.$level.'会员!';
$new_time = microtime(1);
echo $new_time-$time;
得出结果约为 1.28E-5
根据个人服务器性能不同有所差别
$time = microtime(1);
$username = 'Stussy';
$level = '白金';
echo "欢迎",$username,$level,'会员!';
$new_time = microtime(1);
echo $new_time-$time;
得出结果约为 9.05E-6
很明显可以看出两个时间差不在一个幂级上 很明显使用’,’作为连接符的效率要优于使用’.’
希望大家在以后的实际运用中需要多加注意,如有不对的地方还请纠正。