介绍
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 (); }
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。