淺談PHP變數的8種型別以及弱型別

2020-07-16 10:05:30
本篇文章小編將和大家談談PHP變數的8種型別以及弱型別,感興趣的朋友可以了解一下。

一,PHP變數的8個型別

四種標量型別:

  • boolean (布林型)
  • integer (整型)
  • float (浮點型, 也稱作 double)
  • string (字串)

兩種複合型別:

  • array (陣列)
  • object (物件)

最後是兩種特殊型別:

  • resource (資源)
  • NULL (NULL)

二,PHP弱型別

我們知道,PHP是一種弱型別的語言(初始化一個變數的時候,並不需要指定它的型別),但是前面提供了PHP變數的8種型別,這前後兩句話似乎有點矛盾,我們要怎麼理解PHP的型別呢

首先,PHP的底層是存在8個型別的。

其次,當你對一個變數初始化或賦值的時候,PHP的底層會自動識別即將賦予的值,然後設定該變數的型別。

再次,當你對兩個變數進行邏輯判斷的時候,PHP的底層會依照以下規則先進性型別轉換再進行邏輯判斷。

1,邏輯判斷是算術運算子,加減乘(+-*),如果任何一個運算元是浮點數,則所有的運算元都被當成浮點數,結果也是浮點數。否則運算元會被解釋為整數,結果也是整數,

2,邏輯判斷是算術運算子,除(/),除法運算子總是返回浮點數。只有在下列情況例外:兩個運算元都是整數(或字串轉換成的整數)並且正好能整除,這時它返回一個整數。

3,邏輯判斷是算術運算子,取模(%),所有的操作位都被轉換成整數,結果也是整數。

4,邏輯判斷是算術運算子,取反(-),如果運算元是一個浮點數則結果也是浮點數,否則總是先把運算元轉換成整數,結果也是整數。

5,邏輯判斷是位運算子,所有的運算元都被轉換成整數,結果也是整數。

6,邏輯判斷是比較運算子,如果其中一個運算元是布林值,則另外一個操作費會被轉換為布林值,如果一個運算元是浮點型,則另外一個運算元也會被轉換為浮點型,其餘情況,兩個運算元都會被轉換成整數。無論運算元是什麼型別,比較運算子的結果總是為布林值。

相關教學:PHP視訊教學

以上就是淺談PHP變數的8種型別以及弱型別的詳細內容,更多請關注TW511.COM其它相關文章!