leungigi 发表于 2013-11-19 17:17:23

Message: Undefined offset: 1384444800报错,array里面进行叠加

本帖最后由 leungigi 于 2013-11-19 17:20 编辑

报错如下:
A PHP Error was encounteredSeverity: NoticeMessage: Undefined offset: 1384444800Filename: models/test_ete.phpLine Number: 48

代码: 报错是6行

foreach ($query->result_array() as $row) {
            $uutType = $row['uutType'];
            $testEndtime = $this->mysystem->bbaa($row['testEndtime']);
            $testResult = $row['testResult'];

            $uutTyperesult[$uutType][$testEndtime][$testResult]=$uutTyperesult[$uutType][$testEndtime][$testResult]+1;
            $uutTypename[$row['uutType']] = $i;
            $i++;
      }

我没有用框架之间,这样是可以的..
因为我要做数组变换.(将testEndtime数字时间进行转换成日期,并做统计),不想动数据库...

是不是没有初始化的原因...



leungigi 发表于 2013-11-20 09:19:24

自己已经搞定...
先判断再叠加就不会报错,不要纠结初始化....

foreach ($query->result_array() as $row) {
            $uutType = $row['uutType'];
            $testEndtime = $this->mysystem->bbaa($row['testEndtime']);
            $testResult = $row['testResult'];
            
         
            if (empty($uutTyperesult[$uutType][$testEndtime][$testResult])){
                $uutTyperesult[$uutType][$testEndtime][$testResult]=1;
            }else{
                $uutTyperesult[$uutType][$testEndtime][$testResult]++;
            }
            $uutTypename[$uutType] = $i;
            $i++;
      }
      $query->free_result();
      unset($i);


Hex 发表于 2013-11-20 19:14:34

变量都要先初始化再使用,这是一个非常好的习惯。
CI 的提示只是一个警告,线上可以关闭,但是这样我们就没法养成良好的编程习惯了。
页: [1]
查看完整版本: Message: Undefined offset: 1384444800报错,array里面进行叠加