Php 当满足内部的if语句时,while循环是否结束

Php 当满足内部的if语句时,while循环是否结束,php,while-loop,Php,While Loop,我有一个功能块,可以在我的电子邮件列中搜索匹配项。找到匹配项后,While循环将继续搜索其他匹配项,还是在满足其中的if语句时结束 function find_similar_email ($email) { global $con; // select db mysql_select_db('practice', $con); // select a column to search from $emailList = mysql_query("SEL

我有一个功能块,可以在我的电子邮件列中搜索匹配项。找到匹配项后,While循环将继续搜索其他匹配项,还是在满足其中的if语句时结束

function find_similar_email ($email) {
    global $con;
    // select db
    mysql_select_db('practice', $con);

    // select a column to search from
    $emailList = mysql_query("SELECT email FROM users", $con);

    // search for similar matches
    while ($emailListResult = mysql_fetch_array($emailList)) {
        if ($email == $emailListResult['email']) {
            return TRUE;
        }
    }
}

如果满足If条件,将执行return语句。这将离开函数,并有效地结束while循环。

“return”退出函数。因此,是的,不再读取更多的行…

在您的示例中,
return
将退出该函数,从而有效地终止循环

但是,您应该使用
WHERE
子句进行选择,而不是选择所有内容并搜索结果。由于您只想查看电子邮件地址是否在表中,因此可以执行以下操作:

function find_similar_email ($email) {
  global $con;
  // select db
  mysql_select_db('practice', $con);

  // select all rows with matching email address
  $emailList = mysql_query("SELECT email FROM users where `email`='$email'", $con) or die(mysql_error($con); 

  return(mysql_num_rows($emailList) !== 0);  // return true if we found it, false if we didn't
}

是的。我建议以后运行
returnfalse
。另外,
mysqli\u
和DI,(将
$con
传递到
查找类似的电子邮件
)。谢谢,现在我知道返回结束了。