Does a PHP array need to be declared before use?

社会主义新天地 提交于 2019-12-19 15:23:34

问题


While writing a recent application I accidentally started filling an array before I had declared it.

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

I use E_ALL error reporting and an error was not thrown. Is this correct? And if so, are there any issues with declaring array values whilst never declaring the actual array? Perhaps it just doesn't follow good programming standards.


回答1:


While writing a recent application I accidentally started filling an array before I had declared it.

PHP is a weakly typed language. Your statement:

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

is an implicit declaration (through assignment) of an associative array. So, a notice will not be generated.

However, if you were to write:

echo $array['value'];

before an assigment, then you'll receive an Undefined variable notice.




回答2:


No, you don't have to

And yes, it is a good habit to declare the array to increase code redability




回答3:


To expand on that, no you do not "have" to, but it can be beneficial to.

Also if you have E_NOTICES turned OFF then you will not see errors from an non uninitialized variable. On production you should turn it off, but on development you should turn it ON. It'll allow you to find problems that you might not see.



来源:https://stackoverflow.com/questions/3704557/does-a-php-array-need-to-be-declared-before-use

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!