PHP強化之08 型別的比較

2021-09-02 19:06:04 字數 1632 閱讀 2462

----- 最後更新【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)==0false

2)==nulltrue

3)is_null()false

4)0==0.0true0===0.0false參考

官方手冊:

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...