PHP SPL标准库
官方解释:
SPL 提供了一套标准的数据结构。它们按底层实现进行分组, 通常定义了它们的一般应用领域。
我们讲解几个常用的数据结构使用。
栈结构:
栈结构是先进后出的特性
我们使用push入栈,然后使用pop出栈。
$stack = new SplStack();
$stack->push("1\n");
$stack->push("2\n");
echo $stack->pop();
echo $stack->pop();
队列结构
队列是先进后出的特性
$queue = new SplQueue();
$queue->enqueue("1\n");
$queue->enqueue("2\n");
echo $queue->dequeue();
echo $queue->dequeue();
堆结构
堆是遵循堆属性的树状结构: 每个节点都大于或等于其子级, 使用对堆全局的已实现的比较方法进行比较。
$heap = new SplMinHeap();
$heap->insert("1\n");
$heap->insert("2\n");
echo $heap->extract();
echo $heap->extract();
定长数组
定常数组的效率要高于PHP的数组,php的数组是由hashMap实现,相当于数组链表形式。而数据结构的数组是以连续方式存储的结构。
$array = new SplFixedArray(3);
$array[0] = 123;
$array[1] = 345;
var_export($array);