我正在使用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'];
}
}
}
答案 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'];
}
}
}
}