php - 删除错误抑制运算符

标签 php error-handling

我有这样的代码:

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

基本上,它是将每个 Activity 和每一列的每日值相加以获得总计数。我在这里使用'@'运算符不会引发警告。我可以进行任何修改以删除'@'运算符,因为使用它不是一种好习惯。

我收到的错误是带有列和 Activity 名称的Undefined index

最佳答案

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

更换

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


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

关于php - 删除错误抑制运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34415344/

相关文章:

php - Apache:本地网络上的 Wordpress

php - 如何将链接/网页返回的值存储在 php 变量中

error-handling - Powershell错误输出抑制(再次)

php - 当存储过程插入语句具有重复的主键或不成功时,显示错误消息

PHP 使用相同的 $result 资源进行多种排序

php - 使用正则表达式通过php过滤xpath中的属性

php - 使用 php 从文本区域插入具有逗号的字符串,与 csv 相同

mysql - “Execute stmt”存储的过程中-没有错误但没有插入的记录

ggplot2 - ggplot2 的命名空间加载失败,网格的描述失败

c# - 空捕获 block