方法和变量声明中的 PHP 数组与 [ ]
我有一个关于PHP语法的问题。
定义函数和变量时,我应该使用哪种约定?
我知道他们在实践中做同样的事情,但我想知道哪种方法符合最佳实践标准。
变量
public $varname = array();
或
public $varname = [];
方法
public function foo($bar = array()){}
或
public function foo($bar = []){}
我有一个关于PHP语法的问题。
定义函数和变量时,我应该使用哪种约定?
我知道他们在实践中做同样的事情,但我想知道哪种方法符合最佳实践标准。
变量
public $varname = array();
或
public $varname = [];
方法
public function foo($bar = array()){}
或
public function foo($bar = []){}
PSR-2 和 PSR-12(由 PHP Framework Interoperability Group 提供)没有提到短数组语法。但正如您在第 4.3 章中看到的,它们使用短数组语法将默认值设置为空数组。$arg3
因此,对于 PHP >= 5.4,短数组语法似乎是事实上的标准。仅当您希望脚本在 PHP <5.4 上运行时才使用 。array()
来自 PHP 文档:
从 PHP 5.4 开始,您还可以使用短数组语法,它将 array() 替换为 []。
<?php
$array = array(
"foo" => "bar",
"bar" => "foo",
);
// as of PHP 5.4
$array = [
"foo" => "bar",
"bar" => "foo",
];
?>
如果您尝试在低于5.4的版本中使用“[]”表示法,它将失败,PHP将抛出一个syntax error
为了向后兼容,您应该使用语法。array()