为什么'Array()'而不是PHP中的'new Array()'?

时间:2012-08-13 03:36:35

标签: php arrays object

PHP中的其他对象使用new限定符(例如new Date()等)进行实例化。在实例化新的new时,为什么不提供Array()限定符$array = new Array(); //blows up $array = Array(); //works as intended $reflect = new ReflectionClass($this); //works as intended $reflect = ReflectionClass($this); //blows up PHP中的数组?

{{1}}

4 个答案:

答案 0 :(得分:4)

Array是一种语言结构而不是类,因此您无法使用new来实例化Array对象。

答案 1 :(得分:2)

因为array是语法,而不是类。与listecho和其他一些相同。

答案 2 :(得分:2)

除非你创建“Array”类,否则它会“爆炸”,因为PHP没有内置的Array类。

数组不是类,而是函数。

出于同样的原因你无法做到

$myvar = new print('hello');

那会很疯狂,不是吗?与print()一样,array()是PHP内置的函数,而不是类。

答案 3 :(得分:1)

数组是在PHP之前,甚至面向对象的方式被引入其中

将其视为C语言数组,仍然可以在C ++中使用:)