PHP与CSV和用户输入的比较

时间:2014-03-28 16:38:37

标签: php

我正在编写一个小脚本,当用户输入其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不存在,那么只显示错误消息?

1 个答案:

答案 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"; 
 }