我需要在函数中返回true和false吗?

Yve*_*omb -1 php return function

我是否需要在php中提供真正的错误返回功能,或者只是真正的回报?

如果我有一个像这样的小功能:

<?php
$name =  $_POST['name'];

function nameCheck($name)
{
if (strlen($name)>1 && strlen($name)<40)
{
    return true;
}   
    else
    {
        return false; // do I need this?
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我在这里检查它是否是假的:

if (isset($_POST['submit']))
{
    if (!nameCheck($name))
    {
        echo '<script type="text/javascript"> alert("Fail name!")</script>';
        return false;
    }
}
?>
Run Code Online (Sandbox Code Playgroud)

if (!nameCheck($name)) 我不会只需要在原始函数中返回一个真值,好像它在这里没有返回true,它会返回false吗?

cro*_*lee 7

你实际上不需要返回两者,因为php会null像你在这里做的那样解释一个如同false强制转换为boolean if.

也就是说,在这种情况下,您可以明确地说明它并返回两者.如果您这样做,您可以编写更多更清洁的功能:

 function nameCheck($name)
 {
     return strlen($name) > 1 && strlen($name) < 40;
 }
Run Code Online (Sandbox Code Playgroud)

strlen($name) > 1 && strlen($name) < 40是a boolean,即:答案是还是.所以,我们只需要简单地返回这个计算的输出......

让我们思考一下机器将如何处理这段代码:

if(2>1) return true;

它做的第一件事是计算括号:

if(true) return true;

考虑到这一点,我们可以简单地说:

return 2>1;

在上面的函数中使用了相同的逻辑