php布爾型資料類型以及流程統制的資料類型轉換

來源:互聯網
上載者:User
php布爾型資料類型以及流程式控制制的資料類型轉換

布爾型是最簡單的資料類型。可以為TRUE或者FALSE,關鍵字不區分大小寫。

要顯式的將一個值轉換為布爾型,用(bool)或者(boolean)來強制轉換。php在許多情況下,會進行自動類型轉換,尤其在流程式控制制語句的條件運算式計算時。

當轉換為布爾值,以下值被認為是false:

1)布爾值false;
2)整型值0(零);
3)浮點型值0.0(零);
4)空白字串和字串“0”;
5)沒有成員變數的數組;
6)沒有單元的對象(僅適用於PHP4);
7)特殊類型NULL(包括尚未設定的變數);

除此之外,所有其他值都被認為是true(包括任何資源)。

可以通過以下程式例子進行測試:



做開發過程中,在條件判斷時,一定要注意布爾值類型預設轉換的隱性危險。

下面的題目是關於這方面的:

";if("0")echo "true";elseecho "false-2"."
";if($i)echo "true";elseecho "false-3"."
";if("false")echo "true";elseecho "false-4"."
";if(false)echo "true";elseecho "false-5"."
";if(0.0)echo "true";elseecho "false-6"."
";if(php)echo "true";elseecho "false-7"."
";if("")echo "true";elseecho "false-8"."
";if(null)echo "true";elseecho "false-9"."
";if(array(12))echo "true";elseecho "false-10"."
";if(array())echo "true";elseecho "false-11"."
";/*輸出結果:false-1false-2false-3true false-5false-6true false-8false-9true false-11分析:if語句當條件不滿足(即條件運算式計算結果為false)都會返回假。php的if語句沒有then,有elseif(同else if)當轉換為boolean時候,以下值被認為是false:1)布爾值false;2)整型值0(零);3)浮點型值0.0(零);4)空白字串和字串“0”;5)沒有成員變數的數組;6)沒有單元的對象(僅適用於PHP4);7)特殊類型NULL(包括尚未設定的變數);*/?>



  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.