3 回答

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超11個(gè)贊
布爾值true和false的實(shí)際值就是1和空,true和false只不過是它們的名字(相當(dāng)于常量)而已,不信你試試下面兩行代碼:
echo true; //顯示為1
echo false; //顯示為空
所以json中的true和false解析為1和空就是再正常不過的事,誰也沒有吃它,因?yàn)檫@才是它們的真面目。
你可以在實(shí)際應(yīng)用中直接把它們當(dāng)作true和false來使用:
if ($j["flag"]) echo "flag的值是true";
如果你一定要顯示為true和false才舒服,那可以在實(shí)際應(yīng)用中轉(zhuǎn)換一下即可:
echo $j["flag"]?"true":"false"; //注意,引號是必須的,否則結(jié)果仍然是1和空
當(dāng)然,用 var_dump 和 var_export 可以打印出true和false,但這沒法用于實(shí)際應(yīng)用啊,只能用于程序調(diào)試。

TA貢獻(xiàn)2021條經(jīng)驗(yàn) 獲得超8個(gè)贊
這是函數(shù)作用的問題,print_r() 函數(shù)不會打印出 false 信息,要看 bool 值數(shù)據(jù),應(yīng)該使用 var_dump() 或者 var_export();
print_r 可以打印出 string、 integer 、 float、 array、 object 數(shù)據(jù),但它不管 bool 值為假、或者 null 類型的數(shù)據(jù);
- 3 回答
- 0 關(guān)注
- 501 瀏覽
添加回答
舉報(bào)