當我投射到布爾值(使用(bool)
),是否有內置的方式讓PHP實際返回常量true
或false
。此刻我得到1
或空白,分別評估爲真和假。有沒有辦法從PHP中的布爾值中獲取「true」/「false」字符串值?
我想爲更清晰的語義返回值。但是,如果我不能得到它,我只會解決1和空白。
當我投射到布爾值(使用(bool)
),是否有內置的方式讓PHP實際返回常量true
或false
。此刻我得到1
或空白,分別評估爲真和假。有沒有辦法從PHP中的布爾值中獲取「true」/「false」字符串值?
我想爲更清晰的語義返回值。但是,如果我不能得到它,我只會解決1和空白。
PHP在輸出時顯示布爾值爲1(真)或空字符串(假)。
如果你想檢查它是否true
或false
使用==
(如果隱式轉換OK)或===
(如果不是)。例如:
echo $val ? 'true' : 'false'; // implicit conversion
echo $val === true ? 'true' : 'false'; // no conversion
我不知道有什麼辦法讓PHP輸出布爾值本身作爲true
或false
。
如果您正在尋找字符串「真」與「假」,一個三元條件將是完美的:
<?=(($boolean) ? "true" : "false")?>
如果你懶得做了對比和echo
字符串或如果你只是想盡量簡短,你可以使用:
var_export($boolean, true); // the second parameter is to return and not output
這實際上應該是被接受的答案,任何詢問php問題的人都應該知道如何使用三元運算符。但是,我會補充一點。如果你想要在cletus的回答中提到的隱式轉換,你應該先將'$ boolean'轉換爲'(boolean)$ boolean'。這將返回''true'',像'1'這樣的值 – 2017-04-25 19:54:12
或許,如果你擔心語義一個更有用的問題,是你怎麼*輸出* TR用於調試目的的ue/false值 - 在這種情況下,您可能更感興趣的是,例如,打包'print'函數等。 – Amber 2010-02-12 02:18:39
@Dav謝謝,我沒有徹底地想到我的問題。我原始輸出,我沒有點擊,我不會使用這些值來顯示在我看來。 – alex 2010-02-12 02:30:12