在php 中總共有這8種數據類型,接下來我會對數據類型做一個介紹。
字符串類型(string):PHP 只能支持256 的字符集,因此不支持Unicode
整型(int/integer):系統分配四個字節存儲,表示整數類型
浮點型(float):系統分配八個字節存儲,表示小數或者超出範圍的整型數
布爾型(boolean):true和false兩個值
數組(array):存放一組數據
對象(object):存放對象
資源(resource):存放PHP外部數據,比如數據庫,文件等
null類型(null):只有一個值null,不能運算
查看數據類型有兩種方式
gettype (傳入一個變量) 能夠獲得變量的類型(bool、int、double、string、array、object和resource),如果變量類型不是標準類型之一,該函數就會返回unknown type(未知類型)
var_dump (傳入一個變量) 輸出變類型和值
is_*()
<?php
//gettype
$float = 87.87;
$type = gettype($float);
echo $type;
echo '<hr>';
// var_dump
$str = 'Winnie is a cute bear.';
var_dump($str);
結果:
is_*()類型判斷函數來判斷此變量保存的數據是什麼類型的,這些函數以is_作為開頭,後面加數據類型。
is_bool():判斷是否是布爾型
is_int()、is_integer()和is_long():判斷是否為整型
is_numeric():判斷是否是任何類型的數字和數字字符串
is_float()、is_double()和is_real():判斷是否為浮點型
is_string():判斷是否為字符串
is_array():判斷是否為數組
is_object():判斷是否為物件(對象)
is_resource():判斷是否為資源類型
is_null():判斷是否為null
<?php
#PS.以下用var_dump判斷是否是布爾值,如果用print_r判斷如果真輸出1,假不輸出,因此用var_dump方便看輸出結果
//is_bool — 測變量是否是布爾值
$bool = true;
var_dump(is_bool($bool));
//is_int — 測變量是否是整數
//is_integer函數是 is_int() 的别名函數。
$num = 8887;
var_dump(is_int($num));
var_dump(is_integer($num));
$num = '8887';
var_dump(is_int($num));//false
//is_numeric測變量是否是數字或數字的字串
$num = 8887;
var_dump(is_numeric($num));
$num = '8887';
var_dump(is_numeric($num));
//is_double — is_float() 的别名 測變量是否是浮點數
//is_real — is_float() 的别名
$num = 8887.99;
var_dump(is_double($num));
var_dump(is_float($num));
var_dump(is_real($num));
//is_string — 測變量是否是字符串
$str = 'Winnie';
var_dump(is_string($str));
//測變量是否是數組
$arr = array('W','i','n','n','i','e');
var_dump(is_array($arr));
//is_object — 測變量是否是一個物件
class Obj{}
$obj = new Obj();
var_dump(is_object($obj));
//is_resource — 測變量是否是資源類型
$fp = fopen('test.php', 'rw');
var_dump(is_resource($fp));
//is_null — 測變量是否是 NULL
$test = null;
var_dump(is_null($test));
print_r(is_int($test)); //不輸出