php中switch语句表示日期,在PHP中,什么更快,大的Switch语句或Array键查找

做了一些测试:

array_gen.php:

echo '

$a = 432;

$hash = array(

';

for($i = 0; $i < 10000; $i++) echo "$i => $i,\n";

echo ');

echo $hash[$a];

';

switch_gen.php:

echo '

$a = 432;

switch($a) {

';

for($i = 0; $i < 10000; $i++) echo "case $i: echo $i; break;\n";

echo '}';

然后:

php array_gen.php > array_.php

php switch_gen.php > switch.php

time tcsh -c 'repeat 1000 php array.php > /dev/null'

19.297u 4.791s 0:25.16 95.7%

time tcsh -c 'repeat 1000 php switch.php > /dev/null'

25.081u 5.543s 0:31.66 96.7%

然后我修改了循环:

for($i = 'a'; $i < 'z'; $i++)

for($j = 'a'; $j < 'z'; $j++)

for($k = 'a'; $k < 'z'; $k++)

创建17576,3个字母组合。

time tcsh -c 'repeat 1000 php array.php > /dev/null'

30.916u 5.831s 0:37.85 97.0%

time tcsh -c 'repeat 1000 php switch.php > /dev/null'

36.257u 6.624s 0:43.96 97.5%

阵列方法每次都获胜,即使包含设置时间也是如此。但不是很多。所以我认为我会忽略这个优化,并且随便更容易。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值