获得严重性:在codeigniter-phpbb社区中注意

时间:2014-05-06 07:08:39

标签: php codeigniter phpbb

我在Codeigniter中使用phpbb社区。我不知道为什么但是我收到了这个错误

    A PHP Error was encountered
    Severity: Notice
    Message: Undefined index: 43
    Filename: models/forum.php
    Line Number: 287

这是该功能

    public function forumGetter() {
        $rez = $this->db->select('*')->from('phpbb_forums')->where('forum_id != 75')->where('parent_id != 75')->get();
        $ret = array();
        $foruminfo = $this->forumInfo();
        foreach ($rez->result_array() as $k=> $v) {
            $x = $v;
            $x['usercount'] = intval($foruminfo[$v['forum_id']]['usercount']);
            $ret[$v['parent_id']][] = $x;
        }
        return $ret;
    }

和第287行是

            $x['usercount'] = intval($foruminfo[$v['forum_id']]['usercount']);

我错了或者是哪种错误?

1 个答案:

答案 0 :(得分:0)

更新此行:

$x['usercount'] = intval($foruminfo[$v['forum_id']]['usercount']);

要:

$x['usercount'] = isset($foruminfo[$v['forum_id']]) && isset($foruminfo[$v['forum_id']]['usercount']) ?
                  intval($foruminfo[$v['forum_id']]['usercount']) : 0;

错误是;您正在尝试通过键43加载数组值,即$foruminfo[$v['forum_id']][43],并且当指定键不存在值时,您会收到该错误。因此,最好的选择是在使用数组上的键之前使用isset()进行断言。