- 無論是強型別還是弱型別,變數都具有兩個屬性:型別和值,只不過強型別的語言的變數需要申明,而弱型別語言(PHP)無需宣告,但這並不意味著弱型別語言的變數沒有型別的概念了。舉例來說,PHP的gettype方法就是返回該變數“當前”的型別。
- PHP變數的型別是可以隨需一直改變的,比如字串可以和數字相加。弱型別有時顯得很方便,有時卻又極易出錯。 不希望因為這些小問題影響了開發效率,所以乾脆一次性全部總結完。
將false、空字串、null、空陣列、0和空格,這六個值分別使用is_null、empty、isset、(bool)、(int) 進行處理,觀察其結果(用於測試的PHP版本為5.6)。
- null等同於未定義,只有使用is_null對其判斷時返回ture
- 僅當有內容時(空格也算內容),對其使用empty判斷,返回true
- 僅當null或未定義時,使用isset判斷,返回false
- 轉化bool值的規律和empty判斷正好相反
- 無論何種情況以上值都會被int轉化為0