----- 最後更新【2018-12-7】-----
一、false與null
1、false的七種情況
整型0
、浮點0.0
、布林false
、空字串''
、0字串'0'
、空陣列、null。
2、null的三種情況:
被賦值為 null、尚未被賦值(或未定義的變數)、被 unset()。
二、使用php函式對變數$x進行比較
表示式gettype()
empty()
is_null()
isset()
boolean:if($x)
$x = 「」;
string
true
false
true
false
$x = null;
null
true
true
false
false
var $x;
null
true
true
false
false
$x is undefined
null
true
true
false
false
$x = array();
array
true
false
true
false
$x = false;
boolean
true
false
true
false
$x = true;
boolean
false
false
true
true
$x = 0;
integer
true
false
true
false
$x = 「0」;
string
true
false
true
false
三、「==」與「===」
1、「==」與「===」的區別
==
比較兩個變數的值,但不比較資料型別,屬於鬆散比較;而===
即比較兩個變數的值,也比較它們的資料型別,屬於嚴格比較。
!=
與!==
的區別是同樣的道理。
2、容易混淆的幾個比較:
1)==0
為false
2)==null
為true
3)is_null()
為false
4)0==0.0
為true
,0===0.0
為false
參考
官方手冊:
08 型別轉換
c方式的強制型別轉換 示例 include typedef void pf int 結構體 struct point int main 程式執行結果 c語言強制型別轉換存在的問題 1 過於粗暴 任意型別之間都可以進行轉換,編譯器很難判斷其正確性。2 難於定位 在原始碼中無法快速定位所有使用強制型別轉...
C 自學08 型別推斷 auto typeid
現在有下面一段 char16 t a u 抱 之前說過,宣告乙個char16 t的變數a,但是需要在值前面加上小寫的u,這就有意思了,既然我宣告乙個char16 t,那我加u幹嘛?加u就代表我這是char16 t,但是我前面還宣告char16 t,也就是說,我要用兩個約束,才能做得到a是乙個char...
OC學習 11 型別比較
文件更新狀態 2015 12 27 發布 day11 2015 12 24 一 不同型別資料的比較 1.基本型別直接使用 2.結構體逐一比較每個成員,或者利用位元組對齊特性進行逐字節比較 3.oc物件,比較的是位址,如果需要比較內容 屬性 成員變數等 則需要重寫isequal 方法 a。原則 非ni...