PHP 非運算子 與 if 判斷深入研究

2021-09-22 10:52:37 字數 2837 閱讀 7427

!非 !x 如果x不為true則返回true。

我們經常用!進行一些判斷。

看例項,我們發現經過『非』處理之後,都轉化成了bool值。用於if判斷很有用。

var_dump

(!0);

// bool(true)

var_dump

(!false

);// bool(true)

var_dump

(!array

());

// bool(true)

var_dump

(!null

);// bool(true)

var_dump

(!''

);// bool(true)

var_dump

(!'0'

);// bool(true)

var_dump

(!1);

// bool(false)

var_dump

(!true

);// bool(false)

var_dump

(!'1'

);// bool(false)

var_dump

(!'null'

);// bool(false)

var_dump

(!'false'

);// bool(false)

var_dump

(!'true'

);// bool(false)

看看它們原來的型別

var_dump(0

);// int(0)

var_dump

(false

);// bool(false)

var_dump

(array

());

// array(0) {}

var_dump

(null

);// null

var_dump(''

);// string(0) ""

var_dump

('0'

);// string(1) "0"

var_dump(1

);// int(1)

var_dump

(true

);// bool(true)

var_dump

('1'

);// string(1) "1"

var_dump

('null'

);// string(4) "null"

var_dump

('false'

);// string(5) "false"

var_dump

('true'

);// string(4) "true"

強制轉化為bool後的型別

var_dump

((bool)0);

// bool(false)

var_dump

((bool)

false

);// bool(false)

var_dump

((bool)

array

());

// bool(false)

var_dump

((bool)

null

);// bool(false)

var_dump

((bool)

'');

// bool(false)

var_dump

((bool)

'0');

// bool(false)

var_dump

((bool)1);

// bool(true)

var_dump

((bool)

true

);// bool(true)

var_dump

((bool)

'1');

// bool(true)

var_dump

((bool)

'null'

);// bool(true)

var_dump

((bool)

'false'

);// bool(true)

var_dump

((bool)

'true'

);// bool(true)

小結:'非'處理,就是把任何型別先強制轉化為bool之後,如果是true,就返回false。如果是false,就返回true。用於if條件判斷很有效!

if (0

) else

if(false

) else

if(array

()) else

if(null

) else

if(''

) else

if('0'

) else

if (1

) else

if(true

) else

if('1'

) else

if('null'

) else

if('false'

) else

if('true'

) else

小結: 由上述例子可以看出,if將任何型別轉化成bool型,進行判斷,字串一般都是true,'0'除外!

NOT運算子與 運算子

6.4.2 not運算子與 運算子 對於簡單的條件查詢,not運算子與 運算子的功能幾乎沒有什麼區別,那麼not運算子的優勢體現在 呢?答案是它可以與其他運算子組合使用,這一點是 運算子所不能實現的。在6.4.1節已經介紹了not運算子與in運算子組合使用的例子,下面給出乙個not運算子與betwe...

php運算子取整 PHP 運算子

數學計算 1.使用 abs 函式設定數值的絕對值。輸出 5 echo abs 5 2.使用 ceil 函式進製取整。輸出 6 echo ceil 5.8 echo ceil 5.1 3.使用 floor 函式截斷取整。輸出 5 echo floor 5.8 echo floor 5.1 4.使用 r...

PHP 變數 與 運算子

php 變數 與 運算子 單雙引號 在定義簡單的字串時,使用單引號是乙個更加合適的處理方式。如果使用雙引號,php將花費一些時間來處理字串的轉義和變數的解析。因此,在定義字串時,如果沒有特別的要求,應盡量使用單引號。空值null 空值,顧名思義,表示沒有為該變數設定任何值,另外,空值不區分大小寫,n...