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}}
答案 0 :(得分:4)
Array是一种语言结构而不是类,因此您无法使用new来实例化Array对象。
答案 1 :(得分:2)
因为array
是语法,而不是类。与list
,echo
和其他一些相同。
答案 2 :(得分:2)
除非你创建“Array”类,否则它会“爆炸”,因为PHP没有内置的Array类。
数组不是类,而是函数。
出于同样的原因你无法做到
$myvar = new print('hello');
那会很疯狂,不是吗?与print()
一样,array()
是PHP内置的函数,而不是类。
答案 3 :(得分:1)
数组是在PHP之前,甚至面向对象的方式被引入其中
将其视为C语言数组,仍然可以在C ++中使用:)