很多PHPer都不知道PHP有着自己的一些标准库,官网已经列出了SPL的PHP标准库
网址:php.net/spl 标准库中主要的一些数据结构
数据结构 | 名称 |
---|---|
SplStack | 栈 |
SplQueue | 队列 |
SplMinHeap | 最小堆 |
SplFixedArray | 固定尺寸数据 |
栈结构遵循的是先入后出
$stack = new SplStack()
$stack->push("data1\n");
$stack->push("data2\n");
echo $stack->pop();
echo $stack->pop();
打印结果为:
data2
data1
队列结构是先进对列,先出队列
$queue = new SplQueue();
$queue->enqueue("data1\n");
$queue->enqueue("data2\n");
echo $queue->dequeue();
echo $queue->dequeue();
打印结果为:
data1
data2
先入先出,和栈相反的结构
$heap = new SplMinHeap();
$heap->insert("data1\n");
$heap->insert("data2\n");
echo $heap->extract();
echo $heap->extract();
打印结果为:
data1
data2
固定数组长度
$array = new SplFixedArray(10);
$array[0] = 123;
$array[9] = 321;
var_dump($array);
打印结果为
object(SplFixedArray)#4 (10) {
[0]=>
int(123)
[1]=>
NULL
[2]=>
NULL
[3]=>
NULL
[4]=>
NULL
[5]=>
NULL
[6]=>
NULL
[7]=>
NULL
[8]=>
NULL
[9]=>
int(321)
}