SPL vs. Array:什么时候应该使用SPL?什么时候应该在PHP中使用Array?

java和C中我们不知道size – 数组没有像在 PHP中那样使用,而是使用了LinkedList等.

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

什么时候我们应该在PHP和whenSPL中使用Array,这种情况在PHP和Java / C之间有什么区别?

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

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个字节.内存分配标头需要另外8个字节* 2 – 它提供68个字节.

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

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...