再谈PHP单双引号问题
<?php
/*
* php 页面执行时间统计类
*
*/
classruntime
{
var$StartTime= 0;
var$StopTime= 0;
//获取微秒
functionget_microtime()
{
list($usec,$sec) =explode(' ', microtime());
return((float)$usec+ (float)$sec);
}
//记录开始时间
functionstart()
{
$this->StartTime =$this->get_microtime();
}
//记录结束时间
functionstop()
{
$this->StopTime =$this->get_microtime();
}
//计算所用时间&取整
functionspent()
{
returnround(($this->StopTime -$this->StartTime) * 1000, 1);
}
}
$runtime=newruntime();
//循环次数
$count= 10000;
$str=" string";
$str_single='This is a';
$str_double="This is a";
$str_single_var='This is a'.$str;
$str_double_var="This is a$str";
echo'<div style="display:none">';
//打印$count 次 单引号
$runtime->start();
for($i=0;$i<$count;$i++){
echo$str_single;
}
$runtime->stop();
$sp_single=$runtime->spent();
//打印$count 次 双引号
$runtime->start();
for($i=0;$i<$count;$i++){
echo$str_double;
}
$runtime->stop();
$sp_double=$runtime->spent();
//打印$count 次 单引号(混合)
$runtime->start();
for($i=0;$i<$count;$i++){
echo$str_single_var;
}
$runtime->stop();
$sp_single_var=$runtime->spent();
//打印$count 次 双引号(混合)
$runtime->start();
for($i=0;$i<$count;$i++){
echo$str_double_var;
}
$runtime->stop();
$sp_double_var=$runtime->spent();
echo'</div>';
echo'循环输出'.$count.'次,单引号用时:'.$sp_single.' 双引号用时: '.$sp_double.' 单引号(混合)用时:'.$sp_single_var.' 双引号(混合)用时:'.$sp_double_var;
?>
经测试发现,不混合的情况下,单引号的优势并不明显,混合时单引号效率明显优于双引号。
以后用以下格式: echo '<div style="display:none">'; 即遵循w3c标准,又不会降低效率。
改日用Opcodes试试