使用 php 检索函数中的布尔值


Retrieving a boolean value in a function using php

   function sample($number){
    if ($number % 2 == 0){
    echo "Even";
    }else{
    echo "Odd";
    }
    sample(3);

当我用返回替换回声时,没有任何反应?你怎么知道它是否返回了一些东西?下面的示例是我所关心的。提前感谢!

 function sample($number){
    if ($number % 2 == 0){
    return true;
    }else{
    return false;
    }
sample(3);

肯定会发生一些事情。你只是没有抓住结果。

// Return true or false at random
function trueOrFalse()
{
    return (rand(1, 10) > 5) ? true : false;
}
// Now we are going to check what is being returned
print_r(trueOrFalse()); // true
print_r(trueOrFalse()); // false
print_r(trueOrFalse()); // false
print_r(trueOrFalse()); // true

您还可以在 if 语句中使用返回值等:

if (trueOrFalse() == true) {
    echo "It was true this time";
}

PHP 手册告诉我们

使用可选的 return 语句返回值。可以返回任何类型,包括数组和对象。这会导致函数立即结束其执行,并将控制权传递回调用它的行。有关详细信息,请参阅返回。

补充阅读

  • 关于返回值的 PHP 手册
if (sample(3)) echo 'This is even';
else echo 'this is odd';

手册并阅读有关函数,返回,IF的信息

当你返回一个布尔值时,它要么是真,要么是假。如果你真的想输出一个布尔值,你可以尝试使用 var_dump

var_dump(true);

将输出你的文件.php:3:布尔值真

var_dump(false);

将输出你的文件.php:3:布尔假

布尔值不是用来输出的,而是用来检查语句是真还是假的。

在您的情况下,您想知道一个数字是否是偶数,因此该方法可以命名为 isEven,如果数字是偶数,则返回 true。

然后你可以像这样使用它:

<tr class="<?= isEven($i) ? 'even' : 'odd' ?>">

if (isEven($i)) {
    ...
}