一:什么是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。