新聞中心

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


咨詢
建站咨詢
