删除错误抑制操作符

时间:2015-12-22 11:53:07

标签: php error-handling

我有这样的代码:

foreach ($this->dayCounts as $activity => $day) {
    foreach ($day as $date => $columns) {
        foreach ($columns as $column => $value) {
            @$this->totalCounts[$activity][$column] += $value;
        }
    }
}

基本上它是为每个活动和每列添加每日值以获得总计数。我在这里使用'@'运算符不要抛出警告。我是否可以进行任何修改以删除'@'运算符,因为使用它不是一个好习惯。

我得到的错误是Undefined index,其中包含列和活动名称。

1 个答案:

答案 0 :(得分:0)

您强烈反对的警告可能是由 $ this-> totalCounts 数组中不存在的索引引起的。您可以通过明确初始化此数组的字段来避免它们。

替换

@$this->totalCounts[$activity][$column] += $value;

if (!isset($this->totalCounts[$activity][$column])) {
  $this->totalCounts[$activity][$column] = 0;
}
$this->totalCounts[$activity] += $value;