當前位置:
首頁 > 最新 > 數據類型的轉換

數據類型的轉換

前言

PHP 中,定義變數時不需要指定數據類型,通過「值」,自動判斷類型。也就是說,如果你對一個變數重新賦值,那麼數據類型也隨之改變。

而有些語言是這樣的:

問:PHP 這樣靈活的設計,是優點還是缺點?

自動轉換類型

問:$a 是什麼數據類型?

很明顯,$a 變成了 「int」 整形。一旦使用「+」運算符,那麼:

任何一個操作數是 float,結果就是float

否則操作數會被強制轉為「int」,結果自然也是 int

該轉換僅用於求值的過程(臨時工)

常用轉換

其他數據類型轉為布爾值

我們都知道,if 語句使用很頻繁,也很簡單:

如果expr表達式的最終計算結果是」true」,那麼執行a段代碼,否則執行b段。

下面這些if條件,沒有任何一個是「布爾」類型的expr,那會怎麼樣呢?

總結:PHP解釋器會自動轉換數據類型為布爾型,再進行運算。

比如:

強制轉換

上面講的都是PHP解釋器,根據代碼的需要,自動為我們轉換的。如果,我們需要進行強制轉換呢?

完整的手冊

(int), (integer) - 轉換為整形 integer

(bool), (boolean) - 轉換為布爾類型 boolean

(float), (double), (real) - 轉換為浮點型 float

(string) - 轉換為字元串 string

(array) - 轉換為數組 array

(object) - 轉換為對象 object

(unset) - 轉換為 NULL (PHP 5)

損失

問:如何用整數來表示「1.5」?

答:根本表示不了,只能放棄小數點,變成「1」。

問:這又當如何?

答:請自行測試。

總結

本文簡單的給大家介紹了一下數據類型的自動轉換、強制轉換、損失等。

雖然沒有詳細解釋所有的轉換,但作為拋磚引玉本文說的已經夠多,希望能給大家帶來新的啟發和學習點。

本文參考:PHP手冊,類型一節。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 PHPer 的精彩文章:

TAG:PHPer |

您可能感興趣

變數、數據類型、標識符
VBA之數據類型和常量與變數
C語言數據類型、常量和變數
常量、變數、數據類型、標識符
機器學習探索性數據分析的數據類型
XSD 數值數據類型
通過重載避免隱式類型轉換
淺談數字貨幣交易所的訂單類型
C++模板取函數參數類型和返回值類型的方法
細數各種運動類型對糖尿病的影響
詳解變壓器的類型及其結構、參數。
兩種類型的抑鬱
R語言:數據類型(向量、數組、矩陣、 列表和數據框)
XSD 雜項 數據類型
類型論:一類新的數學
JS 中對變數類型的判斷
Python數據類型、運算符、變數
XSD 字元串 數據類型
Perl 數據類型
數據類型「系統自動編號」