PHP的資料型別轉換屬於強制轉換,本文主要介紹了php資料型別轉換,有需要的朋友可以參考一下!想了解更多相關資訊請持續關注我們應屆畢業生考試網!
PHP 在變數定義中不需要(或不支援)明確的型別定義;變數型別是根據使用該變數的上下文所決定的。也就是說,如果把一個字串值賦給變數 var,var 就成了一個字串。如果又把一個整型值賦給 var,那它就成了一個整數。
PHP 的自動型別轉換的一個例子是加號“+”。如果任何一個運算元是浮點數,則所有的運算元都被當成浮點數,結果也是浮點數。否則運算元會被解釋為整數,結果也是整數。注意這並沒有改變這些運算元本身的型別;改變的`僅是這些運算元如何被求值以及表示式本身的型別。
型別強制轉換
允許的強制轉換有:
?(int), (integer) - 轉換為 整型(integer)
?(bool), (boolean) - 轉換為 布林型(boolean)
?(float), (double), (real) - 轉換為 浮點型(float)
?(string) - 轉換為 字串(string)
?(binary) - 轉換為二進位制 字串(string) (PHP 6)
?(array) - 轉換為 陣列(array)
?(object) - 轉換為 物件(object)
?(unset) - 轉換為 NULL (PHP 5)
(binary) 轉換會在結果前面加上字首'b',PHP 5.2.1 新增。
注意在括號內允許有空格和製表符
將 字串(string)文字和變數轉換為二進位制 字串(string):
程式碼如下:
<?php
$binary = (binary)$string;
$binary = b"binary string";
?>
如果要改變一個變數的型別,參見 settype();
settype — 設定變數的型別
bool settype ( mixed $var , string $type )
將變數 var 的型別設定成 type。
type 的可能值為:
?“boolean” (或為“bool”,從 PHP 4.2.0 起)
?“integer” (或為“int”,從 PHP 4.2.0 起)
?“float” (只在 PHP 4.2.0 之後可以使用,對於舊版本中使用的“double”現已停用)
?“string”
?“array”
?“object”
?“null” (從 PHP 4.2.0 起)
成功時返回 TRUE, 或者在失敗時返回 FALSE.
intval() , floatval() , strval() , 這三個函式也可轉換
下面主要分享一下PHP資料型別轉換的知識。
PHP的資料型別轉換屬於強制轉換,允許轉換的PHP資料型別有:
(int)、(integer):轉換成整形
(float)、(double)、(real):轉換成浮點型
(string):轉換成字串
(bool)、(boolean):轉換成布林型別
(array):轉換成陣列
(object):轉換成物件
PHP資料型別有三種轉換方式:
(1)在要轉換的變數之前加上用括號括起來的目標型別,例如:
(int) (bool) (float) (string) (array) (object) 下面通過例項說明:
程式碼如下:
<?php
$num1=3.14;
$num2=(int)$num1; //強制轉換為int型別
var_dump($num1); //輸出float(3.14)
var_dump($num2); //輸出int(3)
(2)使用3個具體型別的轉換函式,intval()、floatval()、strval() ,例項如下:
程式碼如下:
<?php
$str="123.9abc";
$int=intval($str); //轉換後數值:123
$float=floatval($str); //轉換後數值:123.9
$str=strval($float); //轉換後字串:"123.9"
(3)使用通用型別轉換函式settype(mixed var,string type) ,具體例項如下:
程式碼如下:
<?php
$num4=12.8;
$flg=settype($num4,"int");
var_dump($flg); //輸出bool(true)
var_dump($num4); //輸出int(12)