文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>PHP运行速度比较(1):if和?,数组分配

PHP运行速度比较(1):if和?,数组分配

时间:2010-08-09  来源:lsstarboy

1、比较项目: 数组动态分配
  (1)

function get_permission($perm){

   $perm_num = ord($perm);
   $result = array(FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE);
   $result[0] = 1&$perm_num ? TRUE : FALSE ;
   $result[1] = 2&$perm_num ? TRUE : FALSE ;
   $result[2] = 4&$perm_num ? TRUE : FALSE ;
   $result[3] = 8&$perm_num ? TRUE : FALSE ;
   $result[4] = 16&$perm_num ? TRUE : FALSE ;
   $result[5] = 32&$perm_num ? TRUE : FALSE ;
   $result[6] = 64&$perm_num ? TRUE : FALSE ;
   $result[7] = 128&$perm_num? TRUE : FALSE ;

   return($result);
 }


  运行20000次,大约0.835-0.860s

  (2)

function get_permission($perm){

   $perm_num = ord($perm);
// $result = array(FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE);
   $result[] = 1&$perm_num ? TRUE : FALSE ;
   $result[] = 2&$perm_num ? TRUE : FALSE ;
   $result[] = 4&$perm_num ? TRUE : FALSE ;
   $result[] = 8&$perm_num ? TRUE : FALSE ;
   $result[] = 16&$perm_num ? TRUE : FALSE ;
   $result[] = 32&$perm_num ? TRUE : FALSE ;
   $result[] = 64&$perm_num ? TRUE : FALSE ;
   $result[] = 128&$perm_num? TRUE : FALSE ;

   return($result);
 }


   运行20000次,大约0.750-0.770s

(3) if语句

function get_permission2($perm){
  $perm_num = ord($perm);
  $result = array(FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE);
  if (1&$perm_num) $result[0]=TRUE;
  if (2&$perm_num) $result[1]=TRUE;
  if (4&$perm_num) $result[2]=TRUE;
  if (8&$perm_num) $result[3]=TRUE;
  if (16&$perm_num) $result[4]=TRUE;
  if (32&$perm_num) $result[5]=TRUE;
  if (64&$perm_num) $result[6]=TRUE;
  if (128&$perm_num) $result[7]=TRUE;

  return($result);
 }


   运行20000次,大约:0.746-0.761s

function get_permission2($perm){
  $perm_num = ord($perm);
// $result = array(FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE);
  if (1&$perm_num) $result[]=TRUE; else $result[]=FALSE;
  if (2&$perm_num) $result[]=TRUE; else $result[]=FALSE;
  if (4&$perm_num) $result[]=TRUE; else $result[]=FALSE;
  if (8&$perm_num) $result[]=TRUE; else $result[]=FALSE;
  if (16&$perm_num) $result[]=TRUE; else $result[]=FALSE;
  if (32&$perm_num) $result[]=TRUE; else $result[]=FALSE;
  if (64&$perm_num) $result[]=TRUE; else $result[]=FALSE;
  if (128&$perm_num) $result[]=TRUE; else $result[]=FALSE;

  return($result);
 }

  运行20000次,大约:0.741-0.760s

2、总结:
  (1)动态分配要比事先分配更快一些。
  (2)if要比?:更快一点
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载