2010-02-12 23 views
3

當我投射到布爾值(使用(bool)),是否有內置的方式讓PHP實際返回常量truefalse。此刻我得到1或空白,分別評估爲真和假。有沒有辦法從PHP中的布爾值中獲取「true」/「false」字符串值?

我想爲更清晰的語義返回值。但是,如果我不能得到它,我只會解決1和空白。

+2

或許,如果你擔心語義一個更有用的問題,是你怎麼*輸出* TR用於調試目的的ue/false值 - 在這種情況下,您可能更感興趣的是,例如,打包'print'函數等。 – Amber 2010-02-12 02:18:39

+1

@Dav謝謝,我沒有徹底地想到我的問題。我原始輸出,我沒有點擊,我不會使用這些值來顯示在我看來。 – alex 2010-02-12 02:30:12

回答

4

PHP在輸出時顯示布爾值爲1(真)或空字符串(假)。

如果你想檢查它是否truefalse使用==(如果隱式轉換OK)或===(如果不是)。例如:

echo $val ? 'true' : 'false'; // implicit conversion 
echo $val === true ? 'true' : 'false'; // no conversion 

我不知道有什麼辦法讓PHP輸出布爾值本身作爲truefalse

+0

我認爲他想要字符串值爲「true」或「false」。 – 2010-02-12 02:15:18

+0

謝謝,但那並沒有告訴我任何我不知道的事情。我認爲我的問題實際上有點愚蠢。 – alex 2010-02-12 02:15:32

+0

@fiXedd:我最後一句話沒有解決這個問題? – cletus 2010-02-12 02:18:24

0

如果您正在尋找字符串「真」與「假」,一個三元條件將是完美的:

<?=(($boolean) ? "true" : "false")?> 
7

如果你懶得做了對比和echo字符串或如果你只是想盡量簡短,你可以使用:

var_export($boolean, true); // the second parameter is to return and not output 

PHP: var_export

+0

這實際上應該是被接受的答案,任何詢問php問題的人都應該知道如何使用三元運算符。但是,我會補充一點。如果你想要在cletus的回答中提到的隱式轉換,你應該先將'$ boolean'轉換爲'(boolean)$ boolean'。這將返回''true'',像'1'這樣的值 – 2017-04-25 19:54:12

相關問題