易截截图软件、单文件、免安装、纯绿色、仅160KB

PHP封装类效率测试

今天刚学完mysqli,去我的IDC运营商那看了一下,发现他们的虚拟主机居然不支持,我又去其他几家看了看,有的支持有的不支持。
我就想自己写个类,让他去判断,能用mysqli就用mysqli,否则就用原始的mysql函数。不过问题马上就来了,自己写类会不会导致执行效率变低了呢?于是我就进行了如下测试。
这是用来计时的类:
/**
* 计算代码执行时间
* $counting : 当前的计时状态
* $startTime : 开始计时的时间
* $totalTime : 代码执行的用时
* getTime() : 取得当前时间(以微秒为单位)
* start() : 开始计时
* show() : 显示执行代码的用时
*
*/
class Counter
{
private $counting;
private $startTime;
private $totalTime;

function __construct(){
$this->start();
}

private function getTime(){
list($msec,$sec) = explode(' ',microtime());
return $sec+$msec;
}

function start(){
$this->counting = TRUE;
$this->startTime = $this->getTime();
}

function stop(){
$this->counting = FALSE;
$this->totalTime = ($this->getTime() - $this->startTime)*1000000;
}

function show(){
$this->counting == TRUE && $this->stop();
echo "<br>耗时:".$this->totalTime." 微秒<br>";
$this->start();
}
}
这是执行的代码1:
class Myobj
{
function myf($str){
preg_match('/456/',$str);
}
}
$obj = new Myobj();
$str = '123456789';
$counter = new Counter();
for($i=0;$i<10000;$i++){
$obj->myf($str);
}
$counter->show();
测试五次用的时间分别为:
15283
15861
15658
15663
16229
这是执行的代码2(直接调用函数,不用自己的类):
$str = '123456789';
$counter = new Counter();
for($i=0;$i<10000;$i++){
preg_match('/456/',$str);
}
$counter->show();
测试五次用的时间分别为:
9087
9501
9026
9413
9989
可见,直接调用函数比调用自己封装的函数快了5000微秒左右,乍一看,好像挺吓人的,可仔细一想,5000微秒==5毫秒==0.005秒,而且我整整调用了10000次,这么点差距,肯定没


相关文档:

PHP的编码规范


PHP File 文件格式
常规
对于只包含有 PHP 代码的文件,结束标志("?>")是不允许存在的,PHP自身不需要("?>"), 这样做, 可以防止它的末尾的被意外地注入相应。
重要: 由 __HALT_COMPILER() 允许的任意的二进制代码的内容被 Zend Framework 中的 PHP 文件或由它们产生的文件禁止。 这个功能的使用只对一些 ......

第一个php网站的一些心得和体会

先说下在做的过程中遇到的一些问题,以及解决的方法吧
1.关于书写错误
最开始做的是一个登陆模块,在登陆验证的时候,使用$_POST接收的参数,然后在验证的时候,却怎么也接收不到这两个值,后来才发现$_POST写错了,写成$POST  少个下划线,结果无法正确的验证,很是郁闷。花了好长时间,才找到原因,而且还是一个低 ......

PHP 返回值

例子. return() 函数的用法
<?php
function square ($num)
{
    return $num * $num;
}
echo square (4);   // outputs '16'.
?>
函数不能返回多个值,但为了获得简单的结果,可以返回一个列表。
例子. 返回一个数组以得到多个返回值
<?php
function small_numbe ......

无兄弟,不编程 顶兄弟连PHP学院

         真兄弟,讲义气,同甘苦,共进退。
        《兄弟连》电影的上映,大家纷纷给出了好评。不就是一部战争片么,为何有如此强烈的响应?首先这是一部战争片并没错,但《兄弟连》电影更多的是洋溢着那种相濡以沫的兄弟情义,坚如磐石。多 ......

PHP分割textarea转回的数据

假如一个textarea中有N多行的数据,要将它转为PHP的一维数组,
 <form id="textarea_test" action="textarea.php" method="post">
<textarea cols="50" rows="5" name="aa" id="abc" >

<?php
$str = $_POST['aa'];
//var_dump($str);
//$str = "chenjinle le";
$array = explode("\n", trim($ ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号