亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

php json_decode();解析出布爾值true是1,false為空,怎么解決?

php json_decode();解析出布爾值true是1,false為空,怎么解決?

PHP C
函數式編程 2022-03-02 11:07:26
<?phpheader("Content-Type: text/html;charset=utf-8");$json = '{ "flag":false }';$j = json_decode($json,true);print_r($j);結果為---------------------------------Array ( [flag] => )-------------------------------我就想要布爾值 ture 或者false啊 ,給我吃了???
查看完整描述

3 回答

?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

布爾值true和false的實際值就是1和空,true和false只不過是它們的名字(相當于常量)而已,不信你試試下面兩行代碼:
echo true; //顯示為1
echo false; //顯示為空
所以json中的true和false解析為1和空就是再正常不過的事,誰也沒有吃它,因為這才是它們的真面目。
你可以在實際應用中直接把它們當作true和false來使用:
if ($j["flag"]) echo "flag的值是true";
如果你一定要顯示為true和false才舒服,那可以在實際應用中轉換一下即可:
echo $j["flag"]?"true":"false"; //注意,引號是必須的,否則結果仍然是1和空
當然,用 var_dump 和 var_export 可以打印出true和false,但這沒法用于實際應用啊,只能用于程序調試。

查看完整回答
反對 回復 2022-03-07
?
寶慕林4294392

TA貢獻2021條經驗 獲得超8個贊

這是函數作用的問題,print_r() 函數不會打印出 false 信息,要看 bool 值數據,應該使用 var_dump() 或者 var_export();
print_r 可以打印出 string、 integer 、 float、 array、 object 數據,但它不管 bool 值為假、或者 null 類型的數據;

查看完整回答
反對 回復 2022-03-07
?
胡說叔叔

TA貢獻1804條經驗 獲得超8個贊

PHP就這機制,false打印就是啥都不顯示,你需要轉換成字符串再輸出就可以了

查看完整回答
反對 回復 2022-03-07
  • 3 回答
  • 0 關注
  • 512 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號