2013-02-27 95 views
0

是否有一個PHP函數將「1」的布爾設置的文本版本顯示爲「True」或「On」等?用於顯示布爾值文本表示的PHP函數

我知道如何使用if()語句來實現它,但我搜索並找不到任何可能是實現此目的的快捷方式。

謝謝。

+0

我不知道你是否會稱它爲快捷方式,但json_encode()完全是這樣。在Rawkode提供的函數的答案是更快,更乾淨,你應該使用 – x4rf41 2013-02-27 13:15:15

+1

可能的重複> http://stackoverflow.com/questions/2795177/how-to-convert-boolean-to-string – BenM 2013-02-27 13:17:55

+0

你是對的@BenM ..之前被問及回答。感謝您的鏈接。 – 2013-02-27 13:21:20

回答

3

您正在尋找var_export:

var_export(true, true) : string = "true" 

如果你有一個整數值,您可以使用事先類型雜耍:

var_export((bool) 1, true) 
: string = "true" 
var_export((bool) 0, true) 
: string = "false" 

請參見類型雜耍http://php.net/manual/en/language.types.type-juggling.php章在你嘗試使用字符串「On」和「Off」來運行它之前 - 第一個將評估爲true,後一個則爲 - 猜測! (我會幫忙,這也是如此)。所以要小心。然而,一個空字符串將被轉換爲false。

+0

好的,謝謝@ExternalUse – 2013-02-27 13:23:34

+0

這是我對這個問題的理解,作者想要一個函數將布爾值轉換爲文本,如True或On,而不是爲文本本身確定一個布爾值。 – Rawkode 2013-02-27 13:25:27

+0

那麼,var_export就是這樣。正如你所看到的結果是一個字符串(在我的理解是文本)。請參閱var_export手冊,尤其是第二個「return」參數: 「如果使用並設置爲TRUE,則var_export()將返回變量表示,而不是輸出它。」 – ExternalUse 2013-02-27 13:38:07

1
function boolToText($bool) { 
    return $bool ? 'True' : 'False'; 
} 
+0

好的,謝謝@Rawkode。它看起來,行爲並且需要與if()語句一樣多的代碼。但它看起來不錯。 – 2013-02-27 13:22:28

+0

結果與'return var_export((bool)$ bool,true);' – ExternalUse 2013-02-27 13:39:24

+0

同樣的結果但是輸出不能改變,如果他們希望返回「On」或「Off」。無論如何,我不相信這一點,兩種方式都會按照要求提供。 – Rawkode 2013-02-27 13:48:26