在使用之前是否需要声明PHP数组?

时间:2010-09-13 21:27:43

标签: php arrays associative-array

在编写最近的应用程序时,我在声明之前意外地开始填充数组。

error_reporting ( E_ALL);  
$array['value'] = 'Test string';

我使用E_ALL错误报告并且未抛出错误。它是否正确?如果是这样,在声明数组值而从未声明实际数组时是否存在任何问题? 也许它只是没有遵循良好的编程标准。

3 个答案:

答案 0 :(得分:6)

  

在编写最近的应用程序时我   不小心开始填充数组   在我宣布它之前。

PHP是一种弱类型语言。你的陈述:

$array['value'] = 'Test string';

是关联数组的隐式声明(通过赋值)。因此,不会生成通知。

但是,如果你要写:

echo $array['value'];

在分配之前,您会收到Undefined variable通知。

答案 1 :(得分:4)

不,你没必要

是的,声明数组以增加代码可重复性是一个好习惯

答案 2 :(得分:3)

为了扩展它,不是你没有“拥有”,但它可能是有益的。

此外,如果您关闭了E_NOTICES,那么您将看不到非未初始化变量的错误。在生产时你应该关闭它,但在开发时你应该打开它。它可以让你找到你可能看不到的问题。