2016-03-07 36 views

回答

2

您可以強制轉換表達式爲整:

echo (int)(1==0); 

有一個段叫Converting to boolean這裏,但它仍然不能完全解釋說:http://www.php.net/manual/en/language.types.boolean.php

它實際上是自動生成false爲空字符串("")(由設計,見上面的鏈接),並echo然後將其作爲這樣的,因爲echo只接受字符串:

echo (int)false; // 0 
echo (int)true;  // 1 
echo (string)false; // nothing 
echo (string)true; // 1 
+0

是的,我的根本問題似乎是有一個原因 – mario

+0

似乎是它的設計,它可能會將布爾值false轉換爲空字符串 – Shomz

+0

錯誤的設計?我們沒看到的深層原因? – mario

6

使用三元操作符(PHP Ternary Operators):

echo (0==1) ? 'false' : 'true'; 
+1

不確定這實際上是OP所指的「配置」。Btw。在一個常規條件下使用三元組是完全不相干的 – Shomz

+0

隨時提供一些建設性的,然後... –

+1

它不回答我所問。因爲'echo 1 == 1;'輸出'1',我想'echo 1 == 0;'輸出' 0'(沒有使用..?..:..,var_dump或類似的技巧)。爲什麼? – mario