PHP中的错误/警告消息“PHP注意:未定义的偏移量:1”

时间:2015-01-06 12:59:28

标签: php

我正在使用以下PHP代码,但它正在生成错误/警告消息:

  

PHP注意:未定义的偏移:1

代码按预期运行。

while(1) {
    while($data = fgets($irc, 128)) {

        $ex = explode(' ', $data);

        if($ex[0] == "PING"){
            fputs($irc, "PONG ".$ex[1]."\n");
        }

        if($ex[1] == "265"){
            $lusers = str_replace(',', '', $ex[8]);
            $gusers = $ex[10];
        }

    }
}

我看不出代码中出了什么问题。它按预期运行,为什么会生成错误/警告消息?

使用print_r($ex)的建议显示:

Array
(
    [0] => SeIKVfMCuzNTGjZ

)
PHP Notice:  Undefined offset: 1

我应该添加$ex > 0或更好的方法吗?

我更新了代码,因此仅在$ex > 0

时运行
while(1) {
    while($data = fgets($irc, 128)) {

        $ex = explode(' ', $data);

        if($ex[0] == "PING"){
            fputs($irc, "PONG ".$ex[1]."\n");
        }

        if(count($ex) > 0){

            if($ex[1] == "265"){
                $lusers = str_replace(',', '', $ex[8]);
                $gusers = $ex[10];
            }

        }

    }
}
?>

但我仍然收到错误/警告消息。怎么可能?

1 个答案:

答案 0 :(得分:0)

这应该适合你:

if(isset($ex[1]) && $ex[1] == "265") {
    //do stuff

} else {
    echo "Index doesn't exist!";
}