淺析php數(shù)據(jù)類型轉(zhuǎn)換
PHP 在變量定義中不需要(或不支持)明確的類型定義;變量類型是根據(jù)使用該變量的上下文所決定的。也就是說(shuō),如果把一個(gè)字符串值賦給變量 var,var 就成了一個(gè)字符串。如果又把一個(gè)整型值賦給 var,那它就成了一個(gè)整數(shù)。
PHP 的自動(dòng)類型轉(zhuǎn)換的一個(gè)例子是加號(hào)“+”。如果任何一個(gè)操作數(shù)是浮點(diǎn)數(shù),則所有的操作數(shù)都被當(dāng)成浮點(diǎn)數(shù),結(jié)果也是浮點(diǎn)數(shù)。否則操作數(shù)會(huì)被解釋為整數(shù),結(jié)果也是整數(shù)。注意這并沒(méi)有改變這些操作數(shù)本身的類型;改變的僅是這些操作數(shù)如何被求值以及表達(dá)式本身的類型。
類型強(qiáng)制轉(zhuǎn)換
允許的強(qiáng)制轉(zhuǎn)換有:
•(int), (integer) - 轉(zhuǎn)換為 整型(integer)
•(bool), (boolean) - 轉(zhuǎn)換為 布爾型(boolean)
•(float), (double), (real) - 轉(zhuǎn)換為 浮點(diǎn)型(float)
•(string) - 轉(zhuǎn)換為 字符串(string)
•(binary) - 轉(zhuǎn)換為二進(jìn)制 字符串(string) (PHP 6)
•(array) - 轉(zhuǎn)換為 數(shù)組(array)
•(object) - 轉(zhuǎn)換為 對(duì)象(object)
•(unset) - 轉(zhuǎn)換為 NULL (PHP 5)
(binary) 轉(zhuǎn)換會(huì)在結(jié)果前面加上前綴'b',PHP 5.2.1 新增。
注意在括號(hào)內(nèi)允許有空格和制表符
將 字符串(string)文字和變量轉(zhuǎn)換為二進(jìn)制 字符串(string):
<?php
$binary = (binary)$string;
$binary = b"binary string";
?>
如果要改變一個(gè)變量的類型,參見(jiàn) settype();
settype — 設(shè)置變量的類型
bool settype ( mixed $var , string $type )
將變量 var 的類型設(shè)置成 type。
type 的可能值為:
•“boolean” (或?yàn)椤癰ool”,從 PHP 4.2.0 起)
•“integer” (或?yàn)椤癷nt”,從 PHP 4.2.0 起)
•“float” (只在 PHP 4.2.0 之后可以使用,對(duì)于舊版本中使用的“double”現(xiàn)已停用)
•“string”
•“array”
•“object”
•“null” (從 PHP 4.2.0 起)
成功時(shí)返回 TRUE, 或者在失敗時(shí)返回 FALSE.
intval() , floatval() , strval() , 這三個(gè)函數(shù)也可轉(zhuǎn)換
下面主要分享一下PHP數(shù)據(jù)類型轉(zhuǎn)換的知識(shí)。
PHP的數(shù)據(jù)類型轉(zhuǎn)換屬于強(qiáng)制轉(zhuǎn)換,允許轉(zhuǎn)換的PHP數(shù)據(jù)類型有:
(int)、(integer):轉(zhuǎn)換成整形
(float)、(double)、(real):轉(zhuǎn)換成浮點(diǎn)型
(string):轉(zhuǎn)換成字符串
(bool)、(boolean):轉(zhuǎn)換成布爾類型
(array):轉(zhuǎn)換成數(shù)組
(object):轉(zhuǎn)換成對(duì)象
PHP數(shù)據(jù)類型有三種轉(zhuǎn)換方式:
(1)在要轉(zhuǎn)換的變量之前加上用括號(hào)括起來(lái)的目標(biāo)類型,例如:
(int) (bool) (float) (string) (array) (object) 下面通過(guò)實(shí)例說(shuō)明:
<?php
$num1=3.14;
$num2=(int)$num1; //強(qiáng)制轉(zhuǎn)換為int類型
var_dump($num1); //輸出float(3.14)
var_dump($num2); //輸出int(3)
(2)使用3個(gè)具體類型的轉(zhuǎn)換函數(shù),intval()、floatval()、strval() ,實(shí)例如下:
<?php
$str="123.9abc";
$int=intval($str); //轉(zhuǎn)換后數(shù)值:123
$float=floatval($str); //轉(zhuǎn)換后數(shù)值:123.9
$str=strval($float); //轉(zhuǎn)換后字符串:"123.9"
(3)使用通用類型轉(zhuǎn)換函數(shù)settype(mixed var,string type) ,具體實(shí)例如下:
<?php
$num4=12.8;
$flg=settype($num4,"int");
var_dump($flg); //輸出bool(true)
var_dump($num4); //輸出int(12)
- ThinkPHP實(shí)現(xiàn)轉(zhuǎn)換數(shù)據(jù)庫(kù)查詢結(jié)果數(shù)據(jù)到對(duì)應(yīng)類型的方法
- PHP學(xué)習(xí)筆記(三):數(shù)據(jù)類型轉(zhuǎn)換與常量介紹
- PHP中數(shù)據(jù)類型轉(zhuǎn)換的三種方式
- PHP 第二節(jié) 數(shù)據(jù)類型之轉(zhuǎn)換
- php學(xué)習(xí)之?dāng)?shù)據(jù)類型之間的轉(zhuǎn)換介紹
- php學(xué)習(xí)之?dāng)?shù)據(jù)類型之間的轉(zhuǎn)換代碼
- 通過(guò)實(shí)例解析PHP數(shù)據(jù)類型轉(zhuǎn)換方法
相關(guān)文章
詳談php中 strtr 和 str_replace 的效率問(wèn)題
下面小編就為大家?guī)?lái)一篇詳談php中 strtr 和 str_replace 的效率問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05
php curl post 時(shí)出現(xiàn)的問(wèn)題解決
這篇文章主要介紹了php curl post 時(shí)出現(xiàn)問(wèn)題的解決方法,需要的朋友可以參考下2014-01-01
詳解PHP防止直接訪問(wèn).php 文件的實(shí)現(xiàn)方法
這篇文章主要介紹了詳解PHP防止直接訪問(wèn).php 文件的實(shí)現(xiàn)方法的相關(guān)資料,這里提供實(shí)現(xiàn)禁止直接訪問(wèn).php文件的實(shí)例,需要的朋友可以參考下2017-07-07
解析PHP中的unset究竟會(huì)不會(huì)釋放內(nèi)存
PHP中的unset究竟會(huì)不會(huì)釋放內(nèi)存?以下我們實(shí)例說(shuō)明一下2013-07-07
php通過(guò)修改header強(qiáng)制圖片下載的方法
這篇文章主要介紹了php通過(guò)修改header強(qiáng)制圖片下載的方法,實(shí)例分析了php強(qiáng)制圖片下載的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03
php-cli簡(jiǎn)介(不會(huì)Shell語(yǔ)言一樣用Shell)
剛才說(shuō)到,我們可以用php來(lái)開發(fā)Shell程序。有的同學(xué)可能會(huì)問(wèn)啦:php不是用來(lái)做網(wǎng)頁(yè)的么?。是的,php可以用來(lái)做動(dòng)態(tài)網(wǎng)頁(yè),并且當(dāng)初php就是為做動(dòng)態(tài)網(wǎng)頁(yè)而開發(fā)的語(yǔ)言,但是理論上php可以用來(lái)做任何的程序,甚至是桌面程序2013-06-06

