php数组性能小测

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


简单测试代码如下:

1.使用array关键字

<?php
set_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关键字

<?php
set_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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值