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)) {
...
}