程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 淺析php數據類型轉換

淺析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)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved