首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP有内置的数据结构吗?

PHP有内置的数据结构吗?
EN

Stack Overflow用户
提问于 2008-08-22 21:47:43
回答 10查看 55.8K关注 0票数 71

我正在研究PHP Manual,但我没有看到关于大多数语言都有的数据结构的部分,比如列表和集合。我是不是太盲目了,或者PHP没有类似的内置功能?

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2008-08-22 13:51:02

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

http://www.php.net/array

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

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

票数 60
EN

Stack Overflow用户

发布于 2008-08-22 13:57:22

关联数组可用于最基本的数据结构哈希表、队列、堆栈。但如果你想要像树或堆这样的东西,我不认为它们默认存在,但我相信任何地方都有免费的库。

要让数组模拟堆栈,请使用array_push()来添加,使用array_pop()来实现

要让数组模拟队列,请使用array_push()入队,使用array_shift()出队

默认情况下,关联数组是一个哈希。在PHP中,它们被允许使用字符串作为索引,因此这可以按预期工作:

代码语言:javascript
复制
$array['key'] = 'value';

最后,您可以使用可能会浪费空间的数组来模拟二叉树。如果你知道你将会有一棵小树,这是很有用的。使用线性数组,您可以说对于任何索引(i),将其左子元素放在索引(2i+1)中,将右子元素放在索引(2i+2)中。

关于如何让JavaScript数组模拟更高级别的数据结构,this article很好地介绍了所有这些方法。

票数 16
EN

Stack Overflow用户

发布于 2008-08-22 21:49:41

PHP的数组实际上是关联数组,也可以用作集合。像许多解释型语言一样,PHP在一个引擎盖下提供了所有这些,而不是提供不同的显式数据类型。

例如。

代码语言:javascript
复制
$lst = array(1, 2, 3);
$hsh = array(1 => "This", 2 => "is a", 3 => "test");

/Edit:还有,看看in the manual

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档