PHP SplFixedArray 和 array
官方文档: https://www.php.net/manual/zh/class.splfixedarray.php
SplFixedArray提供索引数组的功能,它与普通数组的区别就是具有固定长度,且只能存放索引数组, 使用前必须先定义长度
好处就是在处理大数据的数组量, 速度更快, 占用内存更小,更接近c数组,但是因为还要存储php中的一些结构及gc回收等,内存利用远远不如c语言
使用示例
测试结果
普通数组, 存储100万条数据占用32.003983MB内存, 耗时0.056648
使用SplFixedArray, 存储100万条数据占用15.261864MB内存, 耗时0.050642
普通数组, 遍历100万条数据耗时0.013640
使用SplFixedArray, 遍历100万条数据耗时0.026134
多次测试下来, fixedArray 内存占用要比普通数组小一半, 写入速度要比变通数组快一点
但是读取速度还是普通数组快一些
分享一篇文章, 对数组的内存具体占用讲解的特别好
传送门: https://m.ituring.com.cn/article/498349