在Java和C++中,当我们不知道大小时 - 不像PHP一样使用数组,而是使用linkedList等。
在PHP中存在SPL,但大多数情况下程序员使用数组,为什么(因为人们不知道SPL)?
在PHP中应该何时使用数组,何时使用SPL,在这种情况下PHP和Java/C++之间的区别是什么?
在Java和C++中,当我们不知道大小时 - 不像PHP一样使用数组,而是使用linkedList等。
在PHP中存在SPL,但大多数情况下程序员使用数组,为什么(因为人们不知道SPL)?
在PHP中应该何时使用数组,何时使用SPL,在这种情况下PHP和Java/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
$arr[][]=5;
在PHP中,数组是哈希表,因此您不仅可以有整数键,还可以有字符串键:
$arr['somekey']='somevalue';
使用标准数组,它比ArrayObject更快。
仅在实现具有自定义方法的指定数组时使用ArrayObject。
这并不一定是混淆,因为人们可以决定使用"SplStack"而不是与array_push/pop函数相关联的普通数组。或者以经典方式使用数组,
然后存在SplDoublyLinkedList、SplQueue、SplHeap以及ArrayObject。
所以问题是合法的。答案是:你可以用更Java风格的方式做同样的事情,但速度会慢一些。
SPL总体上是试图模仿标准和“现成”的类和API,就像C++和Java中存在的那样。
在我看来,它来得太迟了。