2009-11-08 102 views
1

可以在PHP返回这样一个布尔值:在java中

return $aantal == 0; 

像您可以

public boolean test(int i) 
{ 
return i==0; 
} 

或者你有一个,如果敷设渠道使用? 因为如果我这样做。

$foutLoos = checkFoutloos($aantal); 

function checkFoutloos($aantal) 
{ 
    return $aantal == 0; 
} 

echo "foutLoos = $foutLoos"; 

它呼应的

foutLoos = 

所以不是真或假

感谢 matthy

回答

8

它返回一个布尔值,但是当你输出它时,布尔值不会被转换为字符串。试试这个:

$foutLoos = checkFoutloos($aantal); 

function checkFoutloos($aantal) 
{ 
    return $aantal == 0; 
} 

echo "foutLoos = " . ($foutLoos ? "true" : "false"); 
+2

只是补充,每当你在做比较(使用任何比较操作符),其结果将是布尔。如果你不确定,只需使用cast来确保它是布尔型的。 'return(bool)($ aantal == 0);' – mauris 2009-11-08 22:48:37

8

试试吧!

function is_zero($n) { 
    return $n == 0; 
} 

echo gettype(is_zero(0)); 

输出:

boolean 
1

是的,你可以在返回函数返回一个布尔测试。我喜欢把它放在括号内,所以我知道正在评估什么。

function Foo($Bar= 0) { 
    return ($Bar == 0); 
} 

$Return = Foo(2); 
$Type = var_export($Return, true); 

echo "Return Type: ".$Type; // Return Type: boolean(true) 

事实上,几乎所有的东西都可以在return行上进行评估。不要发疯,因为它可能会使重构变得更加困难(例如,如果您想允许插件操纵返回,例如)。

1

是ideed我发现,当你回声虚假你什么也得不到,真实回声的1这就是为什么我很困惑;)

+0

PHP是松散类型的。它会将您的变量转换为适当的上下文。这既好又坏。 – matpie 2009-11-08 21:52:46

+0

我不认为“恰当”这个词。你想把一个布尔变成一个字符串,所以它选择“1”和“”之间? – 2009-11-08 22:07:31

1

是。你甚至可以通过三元运算符。

function foo($bar == 0) { 
    return ($bar) ? true : false; 
} 
1

你可能只是不喜欢这样,我认为,用类型转换:

return (bool) $aantal;