我正在处理另一个开发人员的旧代码,并且有大量的注意:使用 += 运算符设置数据时出现未定义的索引错误。本质上,索引尚未在数组中设置,因此会生成错误。
例子:
$myArray = array();
$myValue = 1;
for ($i = 1; $i <= 10; $i++)
{
$myArray['test'] += 1;
}
由于尚未设置测试索引,将在第一次运行时产生错误。
我知道我可以使用以下代码删除此错误:
$myArray = array();
$myValue = 1;
for ($i = 1; $i <= 10; $i++)
{
if ( ! isset($myArray['test']) )
{
$myArray['test'] = $myValue;
}
else
{
$myArray['test'] += $myValue;
}
}
但是,大约有 50 个这样的事情需要改变。是否值得写所有这些 isset 语句,还是有更好的方法我不知道?
编辑:我应该注意,数组索引并不总是相同的,有时没有设置,所以我不能在这种情况下预设索引以避免错误。