可以php返回一个像这样的布尔值:
return $aantal == 0;
像在java中一样,你可以
public boolean test(int i)
{
return i==0;
}
或者你必须使用if contruction吗? 因为如果我这样做。
$foutLoos = checkFoutloos($aantal);
function checkFoutloos($aantal)
{
return $aantal == 0;
}
echo "foutLoos = $foutLoos";
它回声
foutLoos =
所以不是真或假
感谢 matthy
答案 0 :(得分:8)
尝试一下!
function is_zero($n) {
return $n == 0;
}
echo gettype(is_zero(0));
输出:
boolean
答案 1 :(得分:8)
它返回一个布尔值,但输出时布尔值不会转换为字符串。试试这个:
$foutLoos = checkFoutloos($aantal);
function checkFoutloos($aantal)
{
return $aantal == 0;
}
echo "foutLoos = " . ( $foutLoos ? "true" : "false" );
答案 2 :(得分:1)
是的,你可以在return函数中返回一个布尔测试。我喜欢把它放在括号中,所以我知道正在评估什么。
function Foo($Bar= 0) {
return ($Bar == 0);
}
$Return = Foo(2);
$Type = var_export($Return, true);
echo "Return Type: ".$Type; // Return Type: boolean(true)
事实上,几乎任何事情都可以在return
行进行评估。不要发疯,因为它可能会使重构变得更加困难(例如,如果你想允许插件操纵返回)。
答案 3 :(得分:1)
是的,我发现当你回应一个错误时,你什么也得不到,而真正的回声是1,这就是为什么我感到困惑;)
答案 4 :(得分:1)
是。你甚至可以通过三元运算符。
function foo($bar == 0) {
return ($bar) ? true : false;
}
答案 5 :(得分:1)
你可以这样做,我认为,使用类型转换:
return (bool) $aantal;