2009-11-08 72 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;