我发现自己在PHP中使用关联数组做了很多事情.
我这样做:
foreach ($item as $key=>$value) { if ($arr[$key] == null) { $arr[$key] = 0; } $arr[$key] += $other_arr[$value]; }
但后来我意识到如果我排除初始化$ arr [$ key]的行,它可以正常工作,大概因为它是null,它被视为与0相同.
在php中使这种假设安全吗?如果它是安全的,这是一个好主意吗?
这是安全的,但我建议不要这样做.如果您将错误报告放到E_NOTICES,您将看到您的代码产生了很多,掩盖了任何真正的错误(例如错误的变量名称).
你应该做的是:
if (!isset($arr[$key])) $arr[$key] = 0;
这不会引发通知(但要小心不要在isset()中错误输入$ arr).