Skip to content
This repository has been archived by the owner on Sep 1, 2020. It is now read-only.

Latest commit

 

History

History
30 lines (24 loc) · 795 Bytes

15.13.3 - 定长数组(SplFixedArray).md

File metadata and controls

30 lines (24 loc) · 795 Bytes

定长数组(SplFixedArray)

PHP官方的SPL库提供了一个定长数组的数据结构,类似与C语言中的数组。和普通的PHP数组不同,定长数组读写性能更好。

官方测试数据

测试使用PHP 5.4,64位Linux系统

* small data (1,000):
    * write: SplFixedArray is 15 % faster
    * read:  SplFixedArray is  5 % faster
* larger data (512,000):
    * write: SplFixedArray is 33 % faster
    * read:  SplFixedArray is 10 % faster

使用方法

SplFixedArray使用方法与Array相同,但只支持数字索引的访问方式。

$array = new SplFixedArray(5);
$array[1] = 2;
$array[4] = "foo";

var_dump($array[0]); // NULL
var_dump($array[1]); // int(2)

可以使用setSize()方法动态改变定长数组的尺寸。