哪一个是更好的做法,代码A或B:
A:
$array = array();
$array[] = 'value';
B(使用数组而不将其声明为数组):
$array[] = 'value'
答案 0 :(得分:2)
A
更好。 正如其他人提到的那样,我最初忽略了,B
在运行时会产生PHP Notice
,但仍然可以正常运行。A
也会使通过确保$array
在您需要它时是您想要的而不是其他变量类型或先前定义的变量,您的代码更加健壮。
编辑:当使用未定义的变量时,PHP没有发出通知是在附加到未初始化的数组时。来自php.net:
如果使用未初始化的变量,则会发出E_NOTICE级别错误,但是在将元素附加到未初始化的数组的情况下不会发生。
答案 1 :(得分:2)
最佳实践宣布它。
原因:如果由于某种原因有人在你使用它之前打开了register_globals并设置了$ array,你可能会得到奇怪的结果。 如果你声明它,你总是确定你有一个空数组。
答案 2 :(得分:2)
或 C:$ array = array('value');
答案 3 :(得分:2)
A是更好的方法,但如果它是一个已知值,我会做 $阵列=阵列( '值');
答案 4 :(得分:0)
IMO取决于脚本的复杂程度。就像在foreach循环中使用例如$ i一样,你可能会使用数组。
首先定义数组,确保它是一个新的空数组,确保它不包含以前使用的数据。
答案 5 :(得分:0)
A
优于B
,因为@ G-Nugget出于同样的原因说过,但推论是,如果你突然冒出一些变量,它也会让你的代码更难阅读。
答案 6 :(得分:0)
根据manual,提及使用方括号语法创建/修改的部分实际上意味着使用$array[] = 'value';
创建数组与通过声明创建数组一样正确在为其赋值之前,变量就是这样。
换句话说,不要担心。