在某些其他语言(例如AS3)中,已经注意到,由于对象创建和实例化的原因,如果像这样做var foo =[]而不是var foo = new array(),初始化一个新数组会更快。我想知道在PHP中是否有类似的东西?

class Foo {
    private $arr = array(); // is there another / better way?
}

当前回答

没有别的办法,所以这是最好的办法。

编辑:这个答案在PHP 5.4及更高版本后无效。

其他回答

没有别的办法,所以这是最好的办法。

编辑:这个答案在PHP 5.4及更高版本后无效。

在PHP 5.4之前:

$myArray = array();

PHP 5.4及以上版本

$myArray = [];

初始化一个简单数组:

<?php $array1=array(10,20,30,40,50); ?>

在array中初始化array:

<?php  $array2=array(6,"santosh","rahul",array("x","y","z")); ?>

来源:源代码

不要这样做:

$arrTst = array( 'IdxKeyOne' => null, 'IdxKeyTwo' => null, 'IdxKeyThr' => null );

不存在使用虚拟/占位符值“初始化”数组的索引键这样的事情。print_r给:

Array (
  [IdxKeyOne] => 
  [IdxKeyTwo] => 
  [IdxKeyThr] => 
)

元素存在的地方,有定义的键但值为空。在以后使用该数组时,无论如何都必须删除假行。

试试这个:

    $arr = (array) null;
    var_dump($arr);

    // will print
    // array(0) { }