資料型別:(data type)在php中指的是儲存的資料本身的型別,而不是變數的型別,php是一種弱型別語言,變數本身沒有資料型別。
php的八種資料型別:在php中將資料分為三大類八小類:
簡單(基本)資料型別:4個小類
整形(int/integer):系統分配4個位元組儲存,表示整數型別(有前提)
浮點型(float/double):系統分配8個位元組,表示小數或者整形存不下的整數
字串型(string):系統根據實際長度分配,用(引號)表示字串
布林型別(bool/boolean):表示布林型別,只有兩個值:true和false
復合資料型別:2個小類
物件型別(object):存放物件(物件導向)
陣列型別(array):儲存多個資料(一次性)
特殊資料型別:2個小類
資源型別(resource):存放資源資料(php外部資料,如資料庫、檔案)
空型別(null):只有乙個值就是null(不能運算)
資料型別轉換
型別轉換:在很多的條件下,需要指定的資料型別、需要外部資料(當前php獲取的資料)
轉換成目標資料型別
資料型別有兩種型別轉換方式:
1、系統自動轉換
2、強制(手動)轉換:人為根據需要的目標型別轉換
①系統自動轉換
在轉換過程,用的比較多的是轉布林型別(判斷)和轉數值執行(算術運算)
其他型別轉布林型別(判斷):true或false(多數(非零)為true)
字串轉數值的說明(算術運算)
1、布林true為1,false為0;
<?php
$a = 1;
$b = 2;
$c = $a.$b; //整型自動轉化為字串型,.表示連線符,連線1和2
var_dump($c); //var_dump函式用於列印顯示,乙個變數的內容與結構,以及型別的資訊。
if ($c) // 真
?> //
2、字串轉數值有自己的規則
2.1 以字母開頭的字串,永遠為0;
2.2 以數字開頭的字串,取到碰到字串為止(不會同時包含兩個小數點,第二個小數點後面的數字不會讀取)
<?php
$a = 'abc1.2.1'; //自動轉換為0
$b = '1.3.2ab'; //自動轉換為1.3
echo $a + $b; //編譯結果:1.3
?>
②強制(手動)轉換
強制轉換規則:在變數之前增加乙個括號(),然後在裡面寫上對應的型別,如int,string,float等,其中null型別用到unset()
<?php
$a = 'abc1.2.1';$b = '1.3.2ab'; //編譯結果:0
echo (float)$a."\n".(float)$b; // 1.3
?>
資料型別判斷
通過一組型別判斷函式,來判斷變數,最終返回這個變數所儲存資料的資料型別(是返回結果是為true,不是為false):是一組以is_開頭後面跟型別名字的函式:is_***(變數名) 如:
is_int(),is_bool(),is_float() 等等(手冊檢視) //返回結果 bool (true)或bool (false)
注意:bool型別不能用echo來檢視,可以使用var_dump結構檢視:var_dump(變數1,變數2...)
<?php
$a = 'abc1.2.1'; //編譯結果:
var_dump(is_int($a)); // bool(false)
var_dump(is_string($a)); // bool(true)
?>
還有一組函式可以用來獲取以及設定資料(變數)的型別
gettype(變數名):獲取變數型別,得到的是該型別對應的字串
settype(變數名,型別):設定變數資料型別(設定成功返回bool (true),失敗返回bool (false)):與強制轉換不同
1、強制轉換(型別)變數名,是對資料值複製的內容進行處理(不會處理實際儲存的內容)
2、settype會直接改變資料本身
<?php
$a = 'abc1.2.1';
echo gettype($a)."\n"; //編譯結果:string
var_dump(settype($a,'int')); // bool(true)
echo gettype($a)."\n".$a; // integer
?> // 0
php 基礎資料型別
php中使用了8種資料型別,其中5種是數量型的,3種有自己的獨特性。超全域性變數可以包含這8種陣列型別的值。1 整型數字 可以用十進位制 十六進製制 用0x做字首 和八進位制 用0做字首 編寫,而且可以包含 符號。賦值範圍與c編譯器的long值範圍一致。2 浮點型數字 浮點型數字與c編譯器的doub...
PHP 5 資料型別
php 5 資料型別 string 字串 integer 整型 float 浮點型 boolean 布林型 array 陣列 object 物件 null 空值 乙個字串是一串字元的序列,就像 hello world 你可以將任何文字放在單引號和雙引號中 x hello world echo x e...
PHP 5 資料型別
php5 資料型別 php整型 整數是乙個沒有小數的數字 php浮點型 浮點數是帶小數部分的數字,或是指數形式 php布林型 值是 true 或 false php陣列 陣列可以在乙個變數中儲存多個值 可用var dump 函式返回陣列的資料型別和值 php物件 物件資料型別也可以用於儲存資料 ph...