【SPL标准库专题(10)】Datastructures:SplObjectStorage

2019-05-25
阅读 2 分钟
1.5k
PHP SPL SplObjectStorage是用来存储一组对象的,特别是当你需要唯一标识对象的时候。PHP SPL SplObjectStorage类实现了Countable,Iterator,Serializable,ArrayAccess四个接口。可实现统计、迭代、序列化、数组式访问等功能。

【SPL标准库专题(9)】Datastructures:SplFixedArray

2019-05-24
阅读 2 分钟
1.5k
SplFixedArray主要是处理数组相关的主要功能,与普通php array不同的是,它是固定长度的,且以数字为键名的数组,优势就是比普通的数组处理更快。

【SPL标准库专题(8)】Datastructures:SplHeap & SplMaxHeap & SplMinHeap

2019-05-23
阅读 2 分钟
1.9k
堆(Heap)就是为了实现优先队列而设计的一种数据结构,它是通过构造二叉堆(二叉树的一种)实现。根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。二叉堆还常用于排序(堆排序)。

【SPL标准库专题(7)】Datastructures:SplPriorityQueue

2019-05-22
阅读 2 分钟
1.3k
普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头取出。在优先队列中,元素被赋予优先级。当访问元素时,具有最高优先级的元素最先取出。优先队列具有最高级先出 (largest-in,first-out)的行为特征。总结下来就是普通队列有先进先出原则,优先级队列有优先级高先出原则,这个优先级可以设置;

【SPL标准库专题(6)】Datastructures:SplStack & SplQueue

2019-05-21
阅读 2 分钟
1.5k
这两个类都是继承自SplDoublyLinkedList,分别派生自SplDoublyLinkedList的堆栈模式和队列模式;所以放在一起来介绍;

【SPL标准库专题(5)】Datastructures:SplDoublyLinkedList

2019-05-20
阅读 3 分钟
1.3k
简述 双链表是一种重要的线性存储结构,对于双链表中的每个节点,不仅仅存储自己的信息,还要保存前驱和后继节点的地址。 类摘要 {代码...} 实现了Iterator接口,可以快速实现迭代; 实现了 ArrayAccess 接口, 可以如数组般访问链表数据; {代码...} 其他的方法手册看看名称都能理解,就不说明了:[链接]

【SPL标准库专题(4)】Exceptions

2019-05-19
阅读 3 分钟
1.9k
了解SPL异常之前,我们先了解一下嵌套异常。嵌套异常顾名思义就是异常里面再嵌套异常,一个异常抛出,在catch到以后再抛出异常,这时可以通过Exception基类的getPrevious方法可以获得嵌套异常;

【SPL标准库专题(3)】Classes

2019-05-18
阅读 6 分钟
1.5k
我把SPL分为五个部分:Iterator,Classes,Exceptions,Datastructures,Function;而其中classes是就是做一些类的介绍(Iterator与Datastructures相关的类在各自文章内),在介绍这些类之前,先介绍几个接口:

【SPL标准库专题(2)】Iterator

2019-05-17
阅读 13 分钟
1.8k
SPL规定,所有部署了Iterator界面的class,都可以用在foreach Loop中。Iterator界面中包含5个必须部署的方法:

【SPL标准库专题(1)】SPL简介

2019-05-16
阅读 3 分钟
2.1k
根据官方定义,它是"a collection of interfaces and classes that are meant to solve standard problems" SPL是用于解决典型问题(standard problems)的一组接口与类的集合。 但是,目前在使用中,SPL更多地被看作是一种使object(物体)模仿array(数组)行为的interfaces和classes。SPL的核心概念就是Iterator。