//栈 先进后出 $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] = 1234; var_dump($array);
结果
object(SplFixedArray)#1 (10) {
[0]=>
int(123)
[1]=>
NULL
[2]=>
NULL
[3]=>
NULL
[4]=>
NULL
[5]=>
NULL
[6]=>
NULL
[7]=>
NULL
[8]=>
NULL
[9]=>
int(1234)
}