我正在编写一个小脚本,当用户输入其ID号时,它将验证外部csv文件以检查用户是否存在。
$errortext=' ';
$sfile = fopen("compch.csv","r");
rewind($sfile);
while (!feof($sfile)) {
$data2 = fgets($sfile);
$splitter2 = explode("|", $data2);
if(!in_array($reference,$splitter2))
{
$errortext = "Invalid proposal number";
return $errortext;
}
}
此代码的问题在于,如果第一个ID不是用户ID,则循环将被破坏而不是正在读取的下一个条目。 有没有办法编辑循环,以便它继续读取ID,如果当前用户ID不存在,那么只显示错误消息?
答案 0 :(得分:0)
如果找到正确的元素,可以使用中断,否则继续:
$errortext = ' ';
$bool = false;
$sfile = fopen("compch.csv","r");
rewind($sfile);
while (!feof($sfile)) {
$data2 = fgets($sfile);
$splitter2 = explode("|", $data2);
if(in_array($reference,$splitter2))
{
$bool = true;
break; //YOu exit the while loop
}
}//End of while loop
if ($bool){
//ID is inside
}else{
$errortext = "Invalid proposal number";
}