在某些其他语言(例如AS3)中,已经注意到,由于对象创建和实例化的原因,如果像这样做var foo =[]而不是var foo = new array(),初始化一个新数组会更快。我想知道在PHP中是否有类似的东西?
class Foo {
private $arr = array(); // is there another / better way?
}
在某些其他语言(例如AS3)中,已经注意到,由于对象创建和实例化的原因,如果像这样做var foo =[]而不是var foo = new array(),初始化一个新数组会更快。我想知道在PHP中是否有类似的东西?
class Foo {
private $arr = array(); // is there another / better way?
}
当前回答
试试这个:
$arr = (array) null;
var_dump($arr);
// will print
// array(0) { }
其他回答
在PHP 5.4之前:
$myArray = array();
PHP 5.4及以上版本
$myArray = [];
在PHP中数组就是数组;这里没有对原语和对象的考虑,因此没有可比的优化。
你所做的是100%正确的。
在良好的命名方面,通常会在私有/受保护属性之前加一个下划线,以明显表明它们不是公共的。例如private $_arr = array()或public $arr = array()
试试这个:
$arr = (array) null;
var_dump($arr);
// will print
// array(0) { }
没有别的办法,所以这是最好的办法。
编辑:这个答案在PHP 5.4及更高版本后无效。