php数组性能小测

来源:互联网 发布:java base64解码成图片 编辑:程序博客网 时间:2024/05/16 06:45

今天看到一个同事写的php程序 突然想测试一下php的两种数组定义方式的性能差别


简单测试代码如下:

1.使用array关键字

<?phpset_time_limit( 120 );echo time();for( $i = 0; $i < 10000000; ++$i ){$arr = array( 'a' => 0,'b' => 1,'c' => 2,'d' => 3,'e' => 4,'f' => 5,'g' => 6,'h' => 7,'i' => 8,'j' => 9,'k' => 10,'l' => 11,'m' => 12,'n' => 13,'o' => 14,'p' => 15,'q' => 16,'r' => 17,'s' => 18,'t' => 19,'u' => 20,'v' => 21,'w' => 22,'x' => 23,'y' => 24,'z' => 25,'a1' => 0,'b1' => 1,'c1' => 2,'d1' => 3,'e1' => 4,'f1' => 5,'g1' => 6,'h1' => 7,'i1' => 8,'j1' => 9,'k1' => 10,'l1' => 11,'m1' => 12,'n1' => 13,'o1' => 14,'p1' => 15,'q1' => 16,'r1' => 17,'s1' => 18,'t1' => 19,'u1' => 20,'v1' => 21,'w1' => 22,'x1' => 23,'y1' => 24,'z1' => 25);}echo '<br>';echo time();exit();

执行时间:1398407484 - 1398407432 = 52s

2.不使用array关键字

<?phpset_time_limit( 120 );echo time();for( $i = 0; $i < 10000000; ++ $i ){$arr2 ['a'] = 0;$arr2 ['b'] = 1;$arr2 ['c'] = 2;$arr2 ['d'] = 3;$arr2 ['e'] = 4;$arr2 ['f'] = 5;$arr2 ['g'] = 6;$arr2 ['h'] = 7;$arr2 ['i'] = 8;$arr2 ['j'] = 9;$arr2 ['k'] = 10;$arr2 ['l'] = 11;$arr2 ['m'] = 12;$arr2 ['n'] = 13;$arr2 ['o'] = 14;$arr2 ['p'] = 15;$arr2 ['q'] = 16;$arr2 ['r'] = 17;$arr2 ['s'] = 18;$arr2 ['t'] = 19;$arr2 ['u'] = 20;$arr2 ['v'] = 21;$arr2 ['w'] = 22;$arr2 ['x'] = 23;$arr2 ['y'] = 24;$arr2 ['z'] = 25;$arr2 ['a1'] = 0;$arr2 ['b2'] = 1;$arr2 ['c2'] = 2;$arr2 ['d2'] = 3;$arr2 ['e2'] = 4;$arr2 ['f2'] = 5;$arr2 ['g2'] = 6;$arr2 ['h2'] = 7;$arr2 ['i2'] = 8;$arr2 ['j2'] = 9;$arr2 ['k2'] = 10;$arr2 ['l2'] = 11;$arr2 ['m2'] = 12;$arr2 ['n2'] = 13;$arr2 ['o2'] = 14;$arr2 ['p2'] = 15;$arr2 ['q2'] = 16;$arr2 ['r2'] = 17;$arr2 ['s2'] = 18;$arr2 ['t2'] = 19;$arr2 ['u2'] = 20;$arr2 ['v2'] = 21;$arr2 ['w2'] = 22;$arr2 ['x2'] = 23;$arr2 ['y2'] = 24;$arr2 ['z2'] = 25;}echo '<br>';echo time();exit();

执行时间 1398407870 - 1398407832 = 38s


二者性能相关巨大

所以在定义数组时最好使用单行定义的方式尽管这可样可以让你多写一些代码 不过一些更高的性能还是不错的 尤其是在访问量大的网站上 尤其你又是C出身程序员

0 0