我正在使用以下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];
}
}
}
}
?>
但我仍然收到错误/警告消息。怎么可能?
答案 0 :(得分:0)
这应该适合你:
if(isset($ex[1]) && $ex[1] == "265") {
//do stuff
} else {
echo "Index doesn't exist!";
}