SplFixedArray库如何在PHP中使用

  介绍

SplFixedArray库如何在PHP中使用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

SplFixedArray主要是处理数组相关的主要功能,与普通PHP数组不同的是,它是固定长度的,且以数字为键名的数组,优势就是比普通的数组处理更快。

看看我本机的基准测试:

报错(& # 39;memory_limit& # 39; & # 39; 12800猴# 39;);   ,   时间=(size 美元;10000;,size 美元;& lt;, 10000000;, size 美元;*=,4),{   echo 才能;PHP_EOL 只“Testing 大小:,size"美元;,只PHP_EOL;   的才能(s 美元;=,microtime(真实),container 美元;=,数组(),,小姐:美元=,0;,美元小姐:& lt;,大小;美元,美元我+ +),容器美元($ i),=,空;   echo 才能“数组():,“,只(microtime(真实),安康;$ s),只PHP_EOL;   ,   的才能(s 美元;=,microtime(真实),container 美元;=,new  SplFixedArray(大小)美元,美元小姐:=,0;,美元小姐:& lt;,大小;美元,美元我+ +),容器美元($ i),=,空;   echo 才能“SplArray():,“,只(microtime(真实),安康;$ s),只PHP_EOL;   }

结果如下:

Testing 大小:10000   数组():0.004000186920166   SplArray (): 0.0019998550415039   ,   Testing 大小:40000   数组():0.017001152038574   SplArray (): 0.0090007781982422   ,   Testing 大小:160000   数组():0.050002098083496   SplArray (): 0.046003103256226   ,   Testing 大小:640000   数组():0.19701099395752   SplArray (): 0.16700983047485   ,   Testing 大小:2560000   数组():0.75704312324524   SplArray ():

0.67303895950317通常情况下SplFixedArray要比php数组快上20% ~ 30%,所以如果你是处理巨大数量的固定长度数组,还是强烈建议使用。
SplFixedArray类摘要如下:

SplFixedArray  implements  Iterator ,,, ArrayAccess ,,, Countable , {/*,才能方法,*/public 才能;__construct  ([, int  size 美元;=,0,),)   public 才能;int  count  (, void )   public 才能;mixed  current  (, void )   public 才能static  SplFixedArray  fromArray  (, array  array 美元;[,bool  save_indexes 美元;=,true ],)   public 才能;int  getSize  (, void )   public 才能;int  key  (, void )   public 才能;void  next  (, void )   public 才能;bool  offsetExists  (, int  index 美元)   public 才能;mixed  offsetGet  (, int  index 美元)   public 才能;void  offsetSet  (, int  index 美元;,,mixed  newval 美元)   public 才能;void  offsetUnset  (, int  index 美元)   public 才能;void  rewind  (, void )   public 才能;int  setSize  (, int  size 美元)   public 才能;array  toArray  (, void )   public 才能;bool  valid  (, void )   public 才能;void  __wakeup  (, void )   }

,使用SplFixedArray:

arr 美元;=,new  SplFixedArray (4);   美元arr [0],=, & # 39; php # 39;;   美元的arr [1],=, 1;   美元arr [3],=, & # 39; python # 39;;   ,//遍历,arr美元[2],为null   foreach (arr 美元;as  $ v), {   echo 才能;v 美元;只PHP_EOL;   }   ,//获取数组长度   echo  arr→美元getSize ();//4   ,//增加数组长度   setSize arr→美元(5);   美元arr [4],=, & # 39; new 一个# 39;;   ,//捕获异常   尝试{   echo 才能;arr美元[10];   },catch  (RuntimeException  $ e), {   echo 才能;$ e→getMessage ();   }

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

SplFixedArray库如何在PHP中使用