新聞中心

php 最初源于 Perl 語(yǔ)言,與 Perl 類似,PHP 對(duì)數(shù)據(jù)類型采取較為寬松的態(tài)度。PHP 規(guī)定,變量數(shù)據(jù)類型會(huì)根據(jù)程序中的邏輯自動(dòng)設(shè)置。這意味著,在 PHP 腳本運(yùn)行時(shí),用戶有時(shí)候甚至沒有機(jī)會(huì)決定一個(gè)變量的類型是一個(gè)數(shù)值還是字符串,亦或是其他數(shù)據(jù)類型。
雖然這一點(diǎn)很靈活,但有時(shí)也會(huì)導(dǎo)致一些小問(wèn)題的出現(xiàn):如果不將某個(gè)變量指定為所需要的數(shù)據(jù)類型,那么在 PHP 腳本運(yùn)行時(shí),它可能會(huì)變成其它的數(shù)據(jù)類型,從而導(dǎo)致計(jì)算錯(cuò)誤。
不過(guò)我們也不用太過(guò)擔(dān)心,因?yàn)槲覀兛梢詫⒆兞繌?qiáng)制聲明為我們想要的數(shù)據(jù)類型。
PHP 的數(shù)據(jù)類型可以分為三大類,分別是標(biāo)量數(shù)據(jù)類型、復(fù)合數(shù)據(jù)類型和特殊數(shù)據(jù)類型,下面我們就來(lái)詳細(xì)介紹一下這些數(shù)據(jù)類型。
標(biāo)量數(shù)據(jù)類型
標(biāo)量數(shù)據(jù)類型是數(shù)據(jù)結(jié)構(gòu)的最基礎(chǔ)單元,只能存儲(chǔ)一個(gè)數(shù)據(jù)。在 PHP 中的標(biāo)量數(shù)據(jù)類型分為四種,如下表所示:
| 類型 | 功能 |
|---|---|
| boolean(布爾型) | 最簡(jiǎn)單的數(shù)據(jù)類型,只有兩個(gè)值:true(真) / false(假) |
| string(字符串) | 字符串是連續(xù)的字符序列 |
| integer(整型) | 整型包含所有的整數(shù),可以是正數(shù)也可以是負(fù)數(shù) |
| float(浮點(diǎn)型) | 浮點(diǎn)型也是用來(lái)表示數(shù)字的,與整型不同除了可以表示整數(shù)外它還可以用來(lái)表示小數(shù)和指數(shù) |
字符串
字符串是連續(xù)的字符序列,在其它語(yǔ)言中,字符和字符串是兩種不同的數(shù)據(jù)類型,但在 PHP 中,統(tǒng)一將字符和字符串當(dāng)作字符串?dāng)?shù)據(jù)類型。在 PHP 中,定義字符串有三種方式,分別是單引號(hào)方式、雙引號(hào)方式、Heredoc 方式。
示例代碼如下:
".$str2."
".$str3; ?>
運(yùn)行結(jié)果如下:
C語(yǔ)言中文網(wǎng)
PHP 教程
url: http://c.biancheng.net/php/
整型
在 PHP 中,整型變量稱為 integer 或 int 類型,用來(lái)表示一個(gè)整數(shù),整型的規(guī)則如下所示:
- 整型必須至少有一個(gè)數(shù)字(0~9);
- 整型不能包含逗號(hào)或空格;
- 整型不能包含小數(shù)點(diǎn);
- 整型可以是正數(shù)或負(fù)數(shù)。
整型的取值范圍必須介于 -2E31 到 2E31 之間,可以用三種格式來(lái)表示,即十進(jìn)制、十六進(jìn)制(以 0x 為前綴)和八進(jìn)制(以 0 為前綴)。
下面通過(guò)示例來(lái)演示一下整型的使用,示例中使用到了 PHP 的 var_dump() 函數(shù),該函數(shù)可以返回變量的數(shù)據(jù)類型和值。
";
$x = -345;
var_dump($x);
echo "
";
$x = 0x8C; //十六進(jìn)制數(shù)字
var_dump($x);
echo "
";
$x = 047; //八進(jìn)制數(shù)字
var_dump($x);
?>
運(yùn)行上面的代碼,結(jié)果如下:
int(5985)
int(-345)
int(140)
int(39)
注意,在 PHP7 版本中,含有十六進(jìn)制字符的字符串不再被視為數(shù)字,而是當(dāng)作普通的字符串,例如:
";
var_dump(is_numeric("0x123"));
echo "
";
var_dump("0xe" + "0x1");
?>
運(yùn)行上面的代碼,在 PHP5 中的輸出結(jié)果如下:
bool(true)
bool(true)
int(15)
在 PHP7 中的輸出結(jié)果如下:
bool(false)
bool(false)
int(0)
浮點(diǎn)型
浮點(diǎn)型在 PHP 中被稱為 float 類型,也可稱為實(shí)數(shù),可以用來(lái)存儲(chǔ)整數(shù)和小數(shù),有效的取值范圍是 1.8E-308 到 1.8E+308 之間。浮點(diǎn)數(shù)的精確度比整型數(shù)據(jù)類型要高。
示例代碼如下:
運(yùn)行結(jié)果如下:
float(10.365) float(2400) float(8.0E-5)
布爾型
布爾型只有兩種值,分別是 TRUE 和 FALSE(不區(qū)分大小寫),意為邏輯真和邏輯假。示例代碼如下:
運(yùn)行結(jié)果如下:
bool(true) bool(false)
復(fù)合數(shù)據(jù)類型
復(fù)合數(shù)據(jù)類型允許將多個(gè)類型相同的數(shù)據(jù)聚合在一起,表示為一個(gè)實(shí)體項(xiàng)。復(fù)合數(shù)據(jù)類型包括數(shù)組(Array)和對(duì)象(Object)。
數(shù)組
數(shù)組是一組數(shù)據(jù)的集合,是將數(shù)據(jù)按照一定規(guī)則組織起來(lái)形成的一個(gè)整體。數(shù)組的本質(zhì)是存儲(chǔ)管理和操作一組變量。按照數(shù)組的維度劃分,可以有一維數(shù)組、二維數(shù)組和多維數(shù)組。我們可以使用 array() 函數(shù)來(lái)創(chuàng)建數(shù)組。
示例代碼如下:
'C語(yǔ)言中文網(wǎng)', 'url' => 'http://c.biancheng.net/');
echo ""; // 是一個(gè) HTML 標(biāo)簽,用來(lái)格式化輸出內(nèi)容
var_dump($arr);
?>
運(yùn)行結(jié)果如下:
array(2) {
["website"]=>
string(16) "C語(yǔ)言中文網(wǎng)"
["url"]=>
string(23) "http://c.biancheng.net/"
}
數(shù)組的應(yīng)用多種多樣,這里只是簡(jiǎn)單的介紹一下,我們會(huì)在后面的學(xué)習(xí)中為大家詳細(xì)介紹。
對(duì)象
對(duì)象(Object)可以用于存儲(chǔ)數(shù)據(jù)。在 PHP 中對(duì)象必須聲明。首先必須使用 class 關(guān)鍵字聲明類對(duì)象。類是可以包含屬性和方法的結(jié)構(gòu)。然后在類中定義數(shù)據(jù)類型,在實(shí)例化的類中使用數(shù)據(jù)類型。
在支持面向?qū)ο蟮恼Z(yǔ)言中,可以把各個(gè)具體事物的共同特征和行為抽象成一個(gè)實(shí)體,稱之為一個(gè)“類”,而對(duì)象是類使用 new 關(guān)鍵字實(shí)例化后的結(jié)果。
示例代碼如下:
color = $color;
}
function getColor() {
return $this->color;
}
}
$car = new Car();
$car->car('red');
echo $car->getColor();
?>
運(yùn)行結(jié)果如下:
red
更多有關(guān)面向?qū)ο蟮闹R(shí),我們會(huì)在后面為大家講解。
特殊數(shù)據(jù)類型
在 PHP 中,有用來(lái)專門提供服務(wù)或數(shù)據(jù)的數(shù)據(jù)類型,它不屬于上述標(biāo)準(zhǔn)數(shù)據(jù)類型中的任意一類,因此也被稱為特殊數(shù)據(jù)類型,主要包括 NULL 和資源數(shù)據(jù)類型。
NULL
NULL 在 PHP 中是一種特殊的數(shù)據(jù)類型,它只有一個(gè)值,即 NULL,表示空值(變量沒有值),需要注意的是它與空格的意義不同。
當(dāng)滿足下列條件時(shí),變量的值為 NULL:
- 變量被指定為 NULL 值;
- 變量在沒有被賦值前,默認(rèn)值為 NULL;
- 使用 unset() 函數(shù)刪除一個(gè)變量后,這個(gè)變量值也為 NULL。
NULL 通??梢杂脕?lái)清空一個(gè)變量,示例代碼如下:
運(yùn)行結(jié)果如下:
NULL
資源
資源(Resource)在 PHP 中同樣是一種特殊的數(shù)據(jù)類型。它主要描述一個(gè) PHP 的擴(kuò)展資源,例如一個(gè)數(shù)據(jù)庫(kù)查詢(Query)、一個(gè)打開的文件句柄(fopen)或一個(gè)數(shù)據(jù)庫(kù)連接(Database Connection)以及字符流(stream)等擴(kuò)展類型。
但是我們并不能直接操作這個(gè)變量類型,只能通過(guò)專門的函數(shù)來(lái)使用。
如果上面所說(shuō)的某一種情況出現(xiàn)時(shí),例如使用 fopen 函數(shù)打開一個(gè)本地文件時(shí),示例代碼如下
運(yùn)行結(jié)果如下:
resource(3) of type (stream)
資源是 PHP 提供的較強(qiáng)特性之一,它可以在 PHP 腳本中做自定義的擴(kuò)展,類似于C語(yǔ)言結(jié)構(gòu)中的引用,它的所有屬性都是私有的,大家可以暫時(shí)將其理解為面向?qū)ο笾械囊粋€(gè)實(shí)例化對(duì)象。有關(guān)資源類型我們后面還會(huì)詳細(xì)介紹。
網(wǎng)頁(yè)題目:PHP數(shù)據(jù)類型大全
鏈接地址:http://www.5511xx.com/article/cdgejpe.html


咨詢
建站咨詢
