PHP是否有内置的数据结构?
2022-08-30 08:45:44
我正在查看PHP手册,我没有看到大多数语言都有的数据结构部分,例如列表和集合。我只是盲目还是PHP没有内置这样的东西?
PHP 中唯一的本机数据结构是数组。幸运的是,数组非常灵活,也可以用作哈希表。
但是,有SPL,它是C++STL的克隆。
PHP 通过标准 PHP 库 (SPL) 基本扩展提供数据结构,该扩展在 PHP 5.0.0 中默认可用和编译。
提供的数据结构可用于 PHP 5 >= 5.3.0,包括:
双向链表 (DLL) 是在两个方向上相互链接的节点的列表。当底层结构是 DLL 时,迭代器的操作、对两端的访问、节点的添加或删除都有 O(1) 的开销。因此,它为堆栈和队列提供了一个不错的实现。
堆是遵循堆属性的树状结构:当使用实现的比较方法(对堆全局)进行比较时,每个节点都大于或等于其子节点。
数组是以连续方式存储数据的结构,可通过索引访问。不要将它们与PHP数组混淆:PHP数组实际上是作为有序哈希表实现的。
映射是保存键值对的数据结构。PHP数组可以看作是从整数/字符串到值的映射。SPL 提供从对象到数据的映射。此映射也可以用作对象集。