iT邦幫忙

2021 iThome 鐵人賽

DAY 8
0
Software Development

PHP 語法通關系列 第 8

Day8 PHP數據類型

在php 中總共有這8種數據類型,接下來我會對數據類型做一個介紹。

  • String(字符串)
  • Integer(整型)
  • Float(浮點型)
  • Boolean(布爾型)
  • Array(數組)
  • Object(對象)
  • NULL(空值)

分類

  • 基本類型

字符串類型(string):PHP 只能支持256 的字符集,因此不支持Unicode
整型(int/integer):系統分配四個字節存儲,表示整數類型
浮點型(float):系統分配八個字節存儲,表示小數或者超出範圍的整型數
布爾型(boolean):true和false兩個值

  • 複合類型

數組(array):存放一組數據
對象(object):存放對象

  • 特殊類型

資源(resource):存放PHP外部數據,比如數據庫,文件等
null類型(null):只有一個值null,不能運算

類型判斷

查看數據類型有兩種方式

  1. gettype (傳入一個變量) 能夠獲得變量的類型(bool、int、double、string、array、object和resource),如果變量類型不是標準類型之一,該函數就會返回unknown type(未知類型)

  2. var_dump (傳入一個變量) 輸出變類型和值

  3. 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_作為開頭,後面加數據類型。

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)); //不輸出

上一篇
Day7 PHP常量
下一篇
Day9 PHP數據類型--基本類型之字串
系列文
PHP 語法通關30

尚未有邦友留言

立即登入留言