最近我在写一个应用程序时,不小心在声明数组之前就开始填充它了。
error_reporting ( E_ALL);
$array['value'] = 'Test string';
我使用了E_ALL错误报告,但没有抛出任何错误。这样做是否正确?如果是的话,那么在声明数组值时从未声明实际数组是否存在问题呢? 也许这只是不遵循良好的编程标准。
最近我在写一个应用程序时,不小心在声明数组之前就开始填充它了。
error_reporting ( E_ALL);
$array['value'] = 'Test string';
我使用了E_ALL错误报告,但没有抛出任何错误。这样做是否正确?如果是的话,那么在声明数组值时从未声明实际数组是否存在问题呢? 也许这只是不遵循良好的编程标准。
在编写最近的应用程序时,我不小心在声明数组之前就开始填充它了。
PHP是一种弱类型语言。你的语句:
$array['value'] = 'Test string';
这是通过赋值隐式声明关联数组。因此,不会生成通知。
但是,如果你写下:
echo $array['value'];
如果在分配变量之前使用变量,你会收到一个未定义的变量
通知。
进一步解释,你并不“必须”这样做,但这样做会有好处。
如果你关闭了E_NOTICES,那么你将看不到未初始化变量的错误。在生产环境中,你应该关闭它,但在开发过程中,你应该打开它。这将允许你发现可能看不到的问题。