PHP是否有内置的数据结构?

2022-08-30 08:45:44

我正在查看PHP手册,我没有看到大多数语言都有的数据结构部分,例如列表和集合。我只是盲目还是PHP没有内置这样的东西?


答案 1

PHP 中唯一的本机数据结构是数组。幸运的是,数组非常灵活,也可以用作哈希表。

http://www.php.net/array

但是,有SPL,它是C++STL的克隆。

http://www.php.net/manual/en/book.spl.php


答案 2

PHP 通过标准 PHP 库 (SPL) 基本扩展提供数据结构,该扩展在 PHP 5.0.0 中默认可用和编译。

提供的数据结构可用于 PHP 5 >= 5.3.0,包括:

双重链表

双向链表 (DLL) 是在两个方向上相互链接的节点的列表。当底层结构是 DLL 时,迭代器的操作、对两端的访问、节点的添加或删除都有 O(1) 的开销。因此,它为堆栈和队列提供了一个不错的实现。

堆是遵循堆属性的树状结构:当使用实现的比较方法(对堆全局)进行比较时,每个节点都大于或等于其子节点。

阵 列

数组是以连续方式存储数据的结构,可通过索引访问。不要将它们与PHP数组混淆:PHP数组实际上是作为有序哈希表实现的。

地图

映射是保存键值对的数据结构。PHP数组可以看作是从整数/字符串到值的映射。SPL 提供从对象到数据的映射。此映射也可以用作对象集。

资料来源:http://php.net/manual/en/spl.datastructures.php


推荐