提问人:Marwane 提问时间:5/30/2021 最后编辑:Some programmer dudeMarwane 更新时间:5/30/2021 访问量:53
使 FEOF 尽快返回 true 以避免 explode() “Undefined offset” 错误 (PHP)
make FEOF return true sooner to avoid explode() "Undefined offset" error (PHP)
问:
我有一个简单的程序来打印文件的内容
<?php
$fp=fopen("../resources/client.txt","r");
$trouve=0;
$cnt=0;
while(!feof($fp)){
$i=0;
$cnt++;
echo "<br>";
$ligne=fgets($fp);
$row=explode("|",$ligne);
while($i<=2){
echo $row[$i]."|";
$i++;}
}
fclose($fp); ?>
这个问题有一个简单的解决方案吗? 先谢谢大家。
答:
1赞
ExploitFate
5/30/2021
#1
在空行上,你既没有也没有$row[1]
$row[2]
<?php
$fp=fopen("../resources/client.txt","r");
$trouve=0;
$cnt=0;
while(!feof($fp)){
$i=0;
$cnt++;
echo "<br>";
$ligne=fgets($fp);
$row=explode("|",$ligne);
if (isset($row[$i])) {
while($i<=2){
echo $row[$i]."|";
$i++;
}
}
}
fclose($fp); ?>
评论
feof
fgets
返回 )。请改用while(!feof($fp))
false
while ($ligne=fgets($fp))