一:什么是SPL

SPL是Standard PHP Library的缩写,他是用于解决常见问题的接口与类的集合。

常见问题是什么问题呢?

1:数据建模、数据结构。

解决数据如何存储的问题。

2:元素遍历。

数据如何查看的问题。

3:常用方法的统一调用。

通用方法(数组、集合的大小)。

自定义遍历。

4:类定义自动装载。

SPL框架包括数据结构、迭代器、基础接口、基础函数、异常、其他等。

二:SPL中的常用数据结构

1:什么是数据结构?

数据结构是计算机存储、组织数据的方式。是指相互之间存在一种或多种特定关系的数据元素的集合。

数据结构解决数据如何存储和表示的问题。

2:双向链表

2.1 双向链表的概念

比如微博系统中,用户之间的关系。

A—关注—B—关注—C C—关注—B—关注—A

这就是一种数据结构,涉及到用户的数据如何存储,以及相互之间的关系。

抽象出来后:

节点1—访问—节点2—访问—节点3 节点3—访问—节点2—访问—节点1

双向链表就是让每个节点可以通过“访问”这个操作访问相邻的节点。可以正向访问,也可以反向访问,所以是双向链表。

生活中,单行线是单向链表,双行线就是双向链表。

2.2 双向链表的术语

bottom:最先添加到链表中的节点叫做bottom,也称为head。

top:最后添加到链表中的节点叫做top。

链表指针:是一个当前关注的节点的标识,可以指向任意节点。

当前节点:链表指针指向的节点。

节点名称和节点数据:节点名称成为key或offset,可以在链表中唯一的标识一个节点。节点数据存放数据,成为value。