Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP';s';返回';语句是否默认返回布尔值?_Php_Return - Fatal编程技术网

PHP';s';返回';语句是否默认返回布尔值?

PHP';s';返回';语句是否默认返回布尔值?,php,return,Php,Return,我不太确定如何问这个问题,但我有以下PHP函数: <?php function checkAge($age) { return ($age >= 21); } ?> 可在以下条件下使用: <?php if(checkAge(21)) { echo 'welcome to the club'; } else { echo 'sorry! you are younger than 21'; } ?> 在定义函数时,我只是

我不太确定如何问这个问题,但我有以下PHP函数:

<?php

function checkAge($age) {
    return ($age >= 21); 
 }

?>

可在以下条件下使用:

<?php

if(checkAge(21)) {
    echo 'welcome to the club';
}
else {
   echo 'sorry! you are younger than 21';

} 

?>

在定义函数时,我只是说
return($age>=21)
,它似乎返回“true”。这是否意味着像那样使用
return
将返回布尔值

如果我不清楚,很抱歉,这让我很困惑:(


提前感谢!

return
返回您给它的任何内容。如果您给它的是一个表达式,则表达式将被求值,其结果将被返回。这里,您返回的是一个计算结果为布尔值的表达式,因此是的,您的函数将返回true或false。 因此,您的功能
检查
与以下功能相同:

// Just to explain. Don't do this!
function checkAge($age) {
    if ($age >= 21) {
        return true;
    } else {
        return false;
    }
 }
但是:

PHP的“return”语句是否默认返回布尔值? 没有


您传递给它的是将返回的内容。如果未传递任何内容,则将返回null。

返回
停止当前模块的执行,并将控制权返还给调用代码。请参阅-

如果从函数中调用,返回语句将立即 结束当前函数的执行,并将其参数返回为 函数调用的值

您得到的布尔值来自比较表达式
$age>=21
。比较表达式始终返回布尔值。请参阅-

例如,这两段代码在功能上完全相同。它们都比较两个值并返回一个布尔值

<?php

if ($age >= 21) {
    ...
}

if (checkAge(21)) {
    ...
}

简短的回答是肯定的。实际上,如果($age>=21),那么
$age>=21
将首先计算。如果
使用此值选择分支,则
。下面的答案告诉您要查找的是什么,因此我不再重复。但出于好奇,我想问一下,如果不返回布尔值,您希望代码做什么?@ADyson我正在参加一个在线课程老师说要为夜总会建立一个函数,根据你的年龄告诉你是否可以进入。按照老师的逻辑,我写了函数和条件,但我不确定它为什么会起作用。我猜是因为我认为
return
语句本身就是retu语句默认情况下使用布尔值(因此我在这里提出问题),但没有注意到它实际上是比较表达式
$age>=21
,就像我刚刚学到的那样。