返回布尔值的函数只返回false


Function returning boolean only returns false

我有一个简单的函数,它给我带来了很多麻烦。函数是:

function valid_mail($email) {
    $atpointers = strstr($email, "@");
    $spacepointers = count(explode(" ", $email));
    $dotpointers = strstr($email, ".");
    $ltpointers = strstr($email, "<");
    $gtpointers = strstr($email, ">");
    $illegalpts = $ltpointers + $gtpointers;
    if($atpointers >= 2 || $dotpointers == 0 || strlen($email) <= 6 || $illegalpts >= 1) { return false; } else { return true; }
}

并在上下文中调用它:

if(valid_mail($email) === false) { // Code } else { // Code }

问题显然是它只返回false。你知道为什么会这样吗?

strstr返回被检查字符串的子str,而不是长度。