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

时间:2020-03-05 18:42:01  来源:igfitidea点击:

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

解决方案

回答

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

例如。

$lst = array(1, 2, 3);
$hsh = array(1 => "This", 2 => "is a", 3 => "test");

/编辑:另外,请查看手册。

回答

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

http://www.php.net/array

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

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

回答

PHP的数组兼作列表和字典。

$myArray = array("Apples", "Oranges", "Pears");
$myScalar = $myArray[0] // == "Apples"

或者将其用作关联数组:

$myArray = array("a"=>"Apples", "b"=>"Oranges", "c"=>"Pears");
$myScalar = $myArray["a"] // == "Apples"

回答

我想我们可能想更具体一点,当我们说数据结构时,我的想法朝着几个方向发展...

数组当然有充分的文档记录,并且可以在以下网站中找到。

SQL数据取决于我们正在使用的数据库,但是大多数可用。 (http://us.php.net/manual/zh/book.mysql.php)

OOP根据版本可以设计和实现对象。 (http://us.php.net/manual/zh/language.oop.php)我必须搜索OOP才能在php网站上找到它。

希望对我们有所帮助,如果不能,对不起。

回答

当然,PHP具有数据结构。 PHP中的数组非常灵活。一些例子:

$foo = array(
  'bar' => array(1,'two',3),
  'baz' => explode(" ", "Some nice words")
);

然后,我们可以使用大量的数组函数来映射/过滤/遍历/等结构,或者进行转换,翻转,反转等。

回答

关联数组可用于大多数基本数据结构的哈希表,队列,堆栈。但是,如果我们想要树或者堆之类的东西,我认为默认情况下它们并不存在,但是我敢肯定,任何地方都有免费的库。

要使数组模拟堆栈,请使用" array_push()"添加,并使用" array_pop()"起飞

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

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

$array['key'] = 'value';

最后,我们可以使用带有可能浪费空间的数组来模拟二进制树。如果我们知道将要有一棵小树,则它很有用。使用线性数组,对于任何索引(i),我们都说将其左子级放在索引(2i + 1)上,将右子级放在索引(2i + 2)上。

在本文中,有关如何使JavaScript数组模拟更高级别的数据结构的所有文章都很好地介绍了所有这些方法。