SplFixedArray是php中提供的一个定长数组。php语言中的数组特别强大,可以实现栈、队列、列表、字典等数据结构。它的底层是基于哈希表实现的。SplFixedArray表示的数组接近于CGO等语言中的数组。它的长度是固定的,索引下标是整数。与php数组相比,SplFixedArray的执行效率更高(优点是比标准数组使用的内存少)。性能测试表明,与数组相比,SplFixedArray在时间和内存使用方面有所改进for($size=10000;$size<50000000;$size*=4){echoPHP_EOL."测试尺寸:$size".PHP_EOL;for($s=microtime(true),$container=Array(),$i=0;$i<$size;$i++)$container[$i]=NULL;回声“阵列():”。(微时间(真)-$s)。PHP_EOL;for($s=microtime(true),$container=newSplFixedArray($size),$i=0;$i<$size;$i++)$container[$i]=NULL;回声“SplArray():”。(微时间(真)-$s)。PHP_EOL;}使用//初始化固定长度的数组$arr=newSplFixedArray(4);$arr[0]='php';$arr[1]=1;$arr[3]='python';//超出索引下标会报数组越界RuntimeException://$arr[4]='python';$arr->setSize(5);//这里不再有错误$arr[4]='python';echo"默认下标".PHP_EOL;var_dump($arr[2]);echo"下标为0:".$arr[0].PHP_EOL;//这里也可以获取元素echo"Thesubscriptis\"0\":".$arr["0"]。PHP_EOL。PHP_EOL;echo"开始遍历:".PHP_EOL;foreach($arras$v){echo$v.PHP_EOL;}echo"Arraylength:".计数($arr)。PHP_EOL;echo"使用计数方法获取数组长度:".$arr->count()。PHP_EOL;上一篇:SPL数据结构2-Heap、最大堆、最小堆下一篇:SPL数据结构4-SplObjectStorage
