我又写了一个文件.再测之: 这是结果: function:0.071924924850464ms class:0.23149108886719ms 为了避免程序运行顺序的影响,我们再运行一次,这次先测静态类的,再测function的: 这次测的时间如下: function:0.072422027587891ms class:0.26213884353638ms 从这个结果来看,php的function还是相当快的,比class,哪怕是静态方法要快。 看来我越来越喜欢用function的路子是对的。 后来我加上另一个,把整个结果贴出来: $obj=& new User(); $t1= time1(); for($i=0;$i<100000;$i++) User::signin(); $t2=time1(); for($i=0;$i<100000;$i++) signin(); $t3=time1(); for($i=0;$i<100000;$i++) $obj->signin(); $t4=time1(); for($i=0;$i<100000;$i++) { $obj1=& new User(); $obj1->signin(); } $t5=time1(); echo “ function:”.($t3-$t2).”ms class:”.($t2-$t1).”ms object:”.($t4-$t3).”ms new object:”.($t5-$t4).”ms”; 结果是: function:0.071459054946899ms class:0.23710894584656ms object:0.08794093132019ms new object:0.17567801475525ms 也就是说,直接调用function是最快的,其次是重复调用已存在对象的方法,仅比纯function慢一点点。 接着是先新建class的实例再调用方法,最慢的是直接调用静态方法。 这个结果有一点点出乎我的意料,我没料到静态方法是最慢的一个。