再谈PHP单双引号问题

2012 年 10 月 18 日5630

<?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试试

0 0