0

i have this function

function filtermail($email){
if(filter_var($email,FILTER_VALIDATE_EMAIL)){
    $mail2 = explode('www.',$email);
    if(isset($mail2[1])){
        return 'false2';
    }
    else{
        return true;
    }
}
else{
    return false;
}
}

but when i give big.ma3ih@gmail.com to it
its return "1"!
and this code run

if($checkmail == 'false2'){
        echo 'ایمیل www ندارد.';
        die();
    }

what is my problem !

4

1 回答 1

1

将 filter_var 与给定的电子邮件一起使用,您可以取回您的电子邮件地址(在此处测试)。这应该在您的第一个 if 条件下为真。爆炸应该返回一个在键 0 处有 1 个元素的数组。所以你的第二个条件导致 false,所以 else 正在工作并返回 true。

更新:您的问题是 $checkmail 设置为 true,您的条件将 bool 值与字符串值进行比较,因此字符串值转换为 bool 值,在这种情况下结果为 true。将您的条件更改为: if ( $mailcheck === 'false2' ){ ...

于 2013-07-23T13:39:41.323 回答