再谈PHP单双引号问题

 

 

<?php

/*

* php 页面执行时间统计类

*

*/

class runtime

{

    var $StartTime = 0;

    var $StopTime = 0;

  

//获取微秒

function get_microtime()

    {

        list($usec, $sec) = explode(' ', microtime());

        return ((float)$usec + (float)$sec);

    }

//记录开始时间

    function start()

    {

        $this->StartTime = $this->get_microtime();

    }

//记录结束时间

    function stop()

    {

        $this->StopTime = $this->get_microtime();

    }

//计算所用时间&取整

    function spent()

    {

        return round(($this->StopTime - $this->StartTime) * 1000, 1);

    }

}

 

 

$runtime = new runtime();

 

 

//循环次数

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

 

如果入选,请帮忙添加     出处:http://www.3oom.com/blog/16.html

时间: 2024-12-01 13:50:33

再谈PHP单双引号问题的相关文章

再谈PHP中单双引号的区别详解_php实例

在PHP中,字符串的定义可以使用英文单引号' ',也可以使用英文双引号" ". 但是必须使用同一种单或双引号来定义字符串,如:'Hello World"和"Hello World'为非法的字符串定义. 单引号和双引号到底有啥区别呢?下面通过本文学习一下吧. 1.定义字符串 在PHP中,字符串的定义可以使用单引号,也可以使用双引号.但是必须使用同一种单或双引号来定义字符串,如:'Hello"和"Hello'为非法的字符串定义. 定义字符串时,只有一

再谈PHP中单双引号的区别详解

在PHP中,字符串的定义可以使用英文单引号' ',也可以使用英文双引号" ". 但是必须使用同一种单或双引号来定义字符串,如:'Hello World"和"Hello World'为非法的字符串定义. 单引号和双引号到底有啥区别呢?下面通过本文学习一下吧. 1.定义字符串 在PHP中,字符串的定义可以使用单引号,也可以使用双引号.但是必须使用同一种单或双引号来定义字符串,如:'Hello"和"Hello'为非法的字符串定义. 定义字符串时,只有一

php 中 define 定义常量和单双引号问题

一.define定义常量问题        <?php   define('DATABASE', 'MYSQL');   define('DATABASE_USER', 'ROOT');   define('DATABASE_PASSWORD', 'PASSWORD');   ?>                直接使用"DATABASE"常量,代表的就是"MYSQL".                $arr = array('fruit'=>'

sql-C#中写SQL语句,单双引号的区别,为什么会报标准表达式中数据类型不匹配。

问题描述 C#中写SQL语句,单双引号的区别,为什么会报标准表达式中数据类型不匹配. OleDbDataAdapter WorkPieceDataDA = new OleDbDataAdapter("update" + "[" + ming + "]" + "set " + lieming[j, 0] + " = '" + jilushuzhi_left[j, i] + "' where 点数 =

JavaScript 限制文本框不可输入英文单双引号的方法_javascript技巧

<input id="workname" style="width: 200px" name="workname" value="" type="text" onkeyup="JavaScript:replaceLikeVal(this)" /> 正则实现replaceAll: function replaceLikeVal(comp){ if (comp.value.ind

字符串中的单双引号

(1)&是连接运算符,它可以将两个字符串连接成一个字符串.       EG1:a="abc" & "def"         执行连接运算后,a="abcdef"       EG2: a="abc" & temp       注意,这里temp是一个字符串变量,假如temp="def",那么代入上面的式子,则结果为:          a="abc" &

PHP数组键值的单双引号区别详解

一.$arr['key'] 与 $arr["key"] 与 $arr[key]的差别: 以上三种方式主要是通过字符串类型数组下标即数组键访问数组的值,如果数组下标为索引类型即键值为数字则无需注意. 1,$arr['key'] 单引号模式被直接解析为$arr的值; 2,$arr["key"]双引号模式会首先分析"key"字符串内部是否包含 PHP变量,然后再解析为$arr的值; 3,$arr[key]没有任何引号会先分析局部作用域内有没有key常量

给HTML标签中的属性添加双引号js代码

<a href=xxx>改为:<a href="xxx"> LeXRus的第一个正则如下:  代码如下 复制代码  /(?!<w+)(s+w+)=([^>"s]+)/ig 第一个括号没看明白,JS应该是不支持.所以我擅自给删掉了,剩下的正则如下:  代码如下 复制代码  /(s+w+)=([^>"s]+)/ig 第一个括号里的s+w+匹配的是属性名. 然后是=,不用转义. 第二个括号里的[^>"s]+匹配属性

.NET 中双引号和单引号互相替换

问题描述 .NET 中双引号和单引号互相替换 StreamWriter swunion = new StreamWriter(Dir_SP + @"C"+ ".txt",true); string txt= DA2["Text"].ToString(); if (txt.Contains("SELECT * FROM cti WHERE cti.DocTypeIdentity='abc'")) { ???? swunion.W