gpt4 book ai didi

php - SPL 与数组 : When should we use SPL and when should we use Array in PHP?

转载 作者:可可西里 更新时间:2023-11-01 12:54:51 25 4
gpt4 key购买 nike

在 java 和 C++ 中,当我们不知道大小时 - 不像在 PHP 中那样使用数组,而是使用 linkedList 等。

在 PHP 中存在 SPL,但大多数时候程序员使用数组,为什么(因为人们不了解 SPL)?

什么时候我们应该在 PHP 和什么时候使用 SPL 以及在这种情况下 PHP 和 Java/C++ 之间的区别是什么?

最佳答案

每个 PHP 请求都必须初始化所有变量,并在请求后释放它们。因此,特殊数据结构(如最大堆、链表或队列)比数组更高效的情况并不常见。对于初学者来说,数组也更容易理解和使用。

PHP 与 C++ 的不同之处在于数组长度是动态的。您可以随时添加元素。

$arr=array();
$arr[]=5; //add integer to array
echo count($arr); //1
$arr[]=7;
echo count($arr); //2

你可以动态创建数组并将其添加到另一个数组

$arr[]=array();
$arr[2][]=5;
echo count($arr); //3
echo count($arr[2]); //1

这将创建新数组,添加值为 5 的元素并将其作为元素添加到数组 $arr。

$arr[][]=5;

在 PHP 中,数组是哈希表,因此您不仅可以拥有整数键,还可以拥有字符串:

$arr['somekey']='somevalue';

如果数组元素是整数,那么每个元素都需要一个占 16 字节的值结构 (zval)。还需要一个哈希桶——占用 36 个字节。每个值有 52 个字节。内存分配 header 占用另外 8 个字节*2 - 即 68 个字节。

关于 PHP 中的数组:http://oreilly.com/catalog/progphp/chapter/ch05.html

关于php - SPL 与数组 : When should we use SPL and when should we use Array in PHP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3166405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com