SPL標准庫常用的數據結構,spl標准數據結構
棧數據結構
1 $stack = new SplStack(); //棧數據結構->先進後出
2 $stack->push('data1'); //入棧
3 $stack->push('data2'); //入棧
4 echo $stack->pop(); //出棧->data2
5 echo $stack->pop(); //出棧->data1

隊列數據結構
1 $queue = new SplQueue(); //隊列數據結構->先進先出
2 $queue->enqueue('data1'); //入列
3 $queue->enqueue('data2'); //入列
4 echo $queue->dequeue(); //出列->data1
5 echo $queue->dequeue(); //出列->data2

堆數據結構
1 $heap = new SplMinHeap(); //堆數據結構
2 $heap->insert('data1'); //存放
3 $heap->insert('data2'); //存放
4 echo $heap->extract(); //取出->data1
5 echo $heap->extract(); //取出->data2

固定長度的數組數據結構
1 $array = new SplFixedArray(10); //固定長度的數組數據結構,聲明長度為10
2 $array[0] = 0;
3 $array[9] = 9;
4 var_dump($array);
5 //object(SplFixedArray)#1 (10) { [0]=> int(0) [1]=> NULL [2]=> NULL [3]=> NULL [4]=> NULL [5]=> NULL [6]=> NULL [7]=> NULL [8]=> NULL [9]=> int(9) }
6 //下標1-8無論有沒有使用,都會分配內存空間
