严重性:通知消息:未定义的偏移量:1。在使用codeigniter时发现此错误

时间:2017-02-14 08:22:24

标签: php codeigniter

我正在使用codeigniter。我在下面的代码中找不到任何错误,但是此行if($split['1'] == $param)会抛出错误"严重性:通知消息:未定义的偏移量:1"。我检查了回显输出精确值的值。 if条件下似乎出现了问题。任何帮助是极大的赞赏。感谢

$myfile = fopen("newfile.txt", "r") or die("Unable to open file!"); 
if ($myfile) {
while(!feof($myfile)) {
    $split = explode(',',fgets($myfile),2);
    //echo  $split['1'];
    if($split['1'] == $param){
    echo $split['0'];
      }      
    }
}

2 个答案:

答案 0 :(得分:0)

文件中是否有空行? 试试吧

while(!feof($myfile)) {
    $line = trim(fgets($myfile));
    if(strlen($line) == 0) continue;
    $split = explode(',',$line,2);
    //echo  $split['1'];
    if($split['1'] == $param){
    echo $split['0'];
      }      
    }
}

答案 1 :(得分:0)

可以使用isset在处理之前检查密钥是否存在。此外,在处理之前检查$ split的好处并不是空的。

$myfile = fopen("newfile.txt", "r") or die("Unable to open file!"); 
if ($myfile) {
while(!feof($myfile)) {
    $split = explode(',',fgets($myfile),2);

    if ($split) {
       if(isset($split['1'] && $split['1'] == $param){
         echo $split['0'];
       }
    }      
  }
}