1. 程式人生 > 其它 >php中有8種變數型別,分別為:1、4種標量資料類

php中有8種變數型別,分別為:1、4種標量資料類

php中有幾種變數型別
php中有8種變數型別,分別為:1、4種標量資料型別(boolean、string、integer、float);2、2種複合資料型別(Array和Object);3、2種特殊資料型別(NULL和資源資料型別)。
本教程操作環境:windows7系統、PHP7.1版,DELL G3電腦
PHP 的資料型別可以分為三大類,分別是標量資料型別、複合資料型別和特殊資料型別,下面我們就來詳細介紹一下這些資料型別。
標量資料型別
標量資料型別是資料結構的最基礎單元,只能儲存一個數據。在 PHP 中的標量資料型別分為四種,如下表所示:
型別 功能
boolean(布林型) 最簡單的資料型別,只有兩個值:true(真) / false(假)
string(字串) 字串是連續的字元序列
integer(整型) 整型包含所有的整數,可以是正數也可以是負數
float(浮點型) 浮點型也是用來表示數字的,與整型不同除了可以表示整數外它還可以用來表示小數和指數
字串
字串是連續的字元序列,在其它語言中,字元和字串是兩種不同的資料型別,但在 PHP 中,統一將字元和字串當作字串資料型別。在 PHP 中,定義字串有三種方式,分別是單引號方式、雙引號方式、Heredoc 方式。
示例程式碼如下:

//雙引號方式宣告字串
$str1 = "php中文網";
//單引號方式宣告字串
$str2 = 'PHP 教程';
//Heredoc 方式宣告字串
$str3 = <<
url:
https://www.php.cn/
EOF;
echo $str1."
".$str2."
".$str3;
?>
執行結果如下:

php中文網
PHP 教程
https://www.php.cn/
整型
在 PHP 中,整型變數稱為 integer 或 int 型別,用來表示一個整數,整型的規則如下所示:
整型必須至少有一個數字(0~9);
整型不能包含逗號或空格;
整型不能包含小數點;
整型可以是正數或負數。
整型的取值範圍必須介於 -2E31 到 2E31 之間,可以用三種格式來表示,即十進位制、十六進位制(以 0x 為字首)和八進位制(以 0 為字首)。
下面通過示例來演示一下整型的使用,示例中使用到了 PHP 的 var_dump() 函式,該函式可以返回變數的資料型別和值。

$x = 5985; // 定義一個整型資料型別的變數
var_dump($x); // 輸出此變數
echo "
";
$x = -345;
var_dump($x);
echo "
";
$x = 0x8C; //十六進位制數字
var_dump($x);
echo "
";
$x = 047; //八進位制數字
var_dump($x);
?>
執行上面的程式碼,結果如下:

int(5985)
int(-345)
int(140)
int(39)
注意,在 PHP7 版本中,含有十六進位制字元的字串不再被視為數字,而是當作普通的字串,例如:

var_dump("0x123" == "291");
echo "
";
var_dump(is_numeric("0x123"));
echo "
";
var_dump("0xe" + "0x1");
?>
執行上面的程式碼,在 PHP5 中的輸出結果如下:

bool(true)
bool(true)
int(15)
在 PHP7 中的輸出結果如下:

bool(false)
bool(false)
int(0)
浮點型
浮點型在 PHP 中被稱為 float 型別,也可稱為實數,可以用來儲存整數和小數,有效的取值範圍是 1.8E-308 到 1.8E+308 之間。浮點數的精確度比整型資料型別要高。
示例程式碼如下:

$num1 = 10.365;
$num2 = 2.4e3;
$num3 = 8E-5;
var_dump($num1, $num2, $num3);
?>
執行結果如下:
1
float(10.365) float(2400) float(8.0E-5)
布林型
布林型只有兩種值,分別是 TRUE 和 FALSE(不區分大小寫),意為邏輯真和邏輯假。示例程式碼如下:

$x = True;
$y = faLsE;
var_dump($x, $y);
?>
執行結果如下:

bool(true) bool(false)
複合資料型別
複合資料型別允許將多個型別相同的資料聚合在一起,表示為一個實體項。複合資料型別包括陣列(Array)和物件(Object)。
陣列
陣列是一組資料的集合,是將資料按照一定規則組織起來形成的一個整體。陣列的本質是儲存管理和操作一組變數。按照陣列的維度劃分,可以有一維陣列、二維陣列和多維陣列。我們可以使用 array() 函式來建立陣列。
示例程式碼如下:

$arr = array('website' => 'php中文網', 'url' => 'https://www.cnblogs.com/');
echo "
"; //
是一個 HTML 標籤,用來格式化輸出內容
var_dump($arr);
?>
執行結果如下:

array(2) {
["website"]=>
string(16) "php中文網"
["url"]=>
string(23) "https://www.cnblogs.com/"
}
陣列的應用多種多樣,這裡只是簡單的介紹一下,我們會在後面的學習中為大家詳細介紹。
物件
物件(Object)可以用於儲存資料。在 PHP 中物件必須宣告。首先必須使用 class 關鍵字宣告類物件。類是可以包含屬性和方法的結構。然後在類中定義資料型別,在例項化的類中使用資料型別。
在支援面向物件的語言中,可以把各個具體事物的共同特徵和行為抽象成一個實體,稱之為一個“類”,而物件是類使用 new 關鍵字例項化後的結果。
示例程式碼如下:

class Car //使用 class 宣告一個類物件
{
var $color;
function car($color="black") {
$this->color = $color;
}
function getColor() {
return $this->color;
}
}
$car = new Car();
$car->car('red');
echo $car->getColor();
?>
執行結果如下:
1
red
更多有關面向物件的知識,我們會在後面為大家講解。
特殊資料型別
在 PHP 中,有用來專門提供服務或資料的資料型別,它不屬於上述標準資料型別中的任意一類,因此也被稱為特殊資料型別,主要包括 NULL 和資源資料型別。
NULL
NULL 在 PHP 中是一種特殊的資料型別,它只有一個值,即 NULL,表示空值(變數沒有值),需要注意的是它與空格的意義不同。
當滿足下列條件時,變數的值為 NULL:
變數被指定為 NULL 值;
變數在沒有被賦值前,預設值為 NULL;
使用 unset() 函式刪除一個變數後,這個變數值也為 NULL。
NULL 通常可以用來清空一個變數,示例程式碼如下:

$str = 'hello';
$str = NULL;
var_dump($str);
?>
執行結果如下:
1
NULL
資源
資源(Resource)在 PHP 中同樣是一種特殊的資料型別。它主要描述一個 PHP 的擴充套件資源,例如一個數據庫查詢(Query)、一個開啟的檔案控制代碼(fopen)或一個數據庫連線(Database Connection)以及字元流(stream)等擴充套件型別。
但是我們並不能直接操作這個變數型別,只能通過專門的函式來使用。
如果上面所說的某一種情況出現時,例如使用 fopen 函式開啟一個本地檔案時,示例程式碼如下

header("content-type:text/html;charset=utf-8");//設定編碼,解決中文亂碼
$file = fopen("test.txt", "rw");//開啟test.txt檔案
var_dump($file);
?>
執行結果如下:
1
resource(3) of type (stream)
資源是 PHP 提供的較強特性之一,它可以在 PHP 指令碼中做自定義的擴充套件,類似於C語言結構中的引用,它的所有屬性都是私有的,大家可以暫時將其理解為面向物件中的一個例項化物件。有關資源型別我們後面還會詳細介紹。