PHP的數據類型

1、PHP數據類型之string

變量的類型通常不是由程式員設定的,確切地說,是 PHP 根據該變量使用的上下文在運行的時候決定的。

string字符串是連續的字符序列,有字母,數字和符號組成,字符串有兩種常用的定義方式,單引號(’  ’)和雙引號(”  ”)。如:

$name=”字符串”;//變量name的類型為字符串類型

$passw=’p1111’;//變量passw的類型也是字符串類型

?>

單引號與雙引號的區別是:雙引號會解析裡面的變量(也就是說雙引號裡面的變量的值會替換雙引號裡面的變量),單引號裡面的變量會原樣輸出。如圖5-1:


效果如圖5-2所示:


2、PHP數據類型之boolean

boolean佈爾值,有兩個:一個是true(或者1),另一個是false(或者0),這兩個值任選其一。如:

$result=true;

$result2=false;

?>

佈爾值多用於結果的真或假。如圖6-1,圖6-2:



3、PHP數據類型之integer

integer整型,隻能包含整數,整數型可以用十進制,八進制和十六進制來表示,如果用八進制,數字前面必須加0表示,如果用十六進制,數字前面則要添加0x

$n1=125;     //十進制的表示方式

$n2=0125;    //八進制的表示方式

$n3=0x123;   //十六進制的表示方式

$n4= a12;     //這個變量的數據類型不是整型,因為整型隻能包含整數,它包含瞭字母

$n5=123.45;   //這個變量的數據類型不是整型,因為整型隻能包含整數,它包含瞭小數

?>

如圖7-1,圖7-2:



4、PHP數據類型之float/double

float浮點類型也叫做double類型,浮點數據類型用來存儲帶有小數的數字。它提供的精度比整數大得多。如:

$f1=3.14;

$f2=1.2;

?>

我們可以用gettype()函數來獲取某個變量的類型,如圖8-1,圖8-2:



5、PHP數據類型之array

array數組,數組是一組數據的集合,數組中可以放置多種數據,如字符串,佈爾值等等,數組中每個數據叫做一個元素,元素包括鍵(key)和值(value)兩部分。鍵(key)可以是字符串或者數字,值可以是各種類型的數據。

數組的定義有常見的三種:

1、$arr=array(‘ff’,1,2);    //采用array關鍵字來定義,沒有指定鍵

2、$arr=array(“a”=>”12”,”b”=>11);  //采用array關鍵字來定義,指定鍵

3、$arr[key]=value;     //給某個key賦予相應的值隱式聲明數組

我們可以用print_r();來打印數組,把數組變量名放到括號裡面即可。如:

$arr=array(“a”,true,11); //這個是一個一維數組,包含三個元素,

print_r($arr); //鍵分別是0,1,2 ,值是字符串a,佈爾值true和整型11

?>

判斷是否是數組用is_array();來判斷,is_array();返回值是佈爾值,既1或者0。1為真,0為假。我們也可以用gettype()函數看返回值是否是array,如圖9-1


最終結果如圖9-2:


6、PHP數據類型之object

object對象,可以把一個對象賦給一個變量,這個過程叫做類的實例化。如圖10-1,10-2所示:



在這裡簡單講一下面向對象,其中有兩個常見的概念:類和對象。

舉個例子:通過一套模具可以生產出許多一模一樣的產品。這套模具就是一個類,而其中的一個產品就是對象。

類是具有相同屬性和方法的某個群體的集合,如例子中的模具。對象是用來描述客觀事物的一個實體,如例子中的產品。通過模具生產出產品的過程就相當於類的實例化。類的實例化就得到瞭對象。

類用關鍵字class定義,格式:

class 類名{}

類裡面也有變量和函數,但是在類裡面他們的叫法不是變量和函數,變量在類裡面叫做成員變量或者成員屬性,函數在類裡面叫做成員方法。如圖10-3:


類的實例化用new 類名(); 如何用類裡面的成員變量和成員方法呢?答案是:用操作符 ->,如圖10-4所示:


7、PHP數據類型之resource

resource資源,資源是一種特殊變量,又叫做句柄,保存到外部資源的一個引用,如文件打開,伺服器連接等等,資源是通過專門的函數建立起來的,在使用資源時,系統會自動啟用垃圾回收機制,釋放不再使用的資源,所以不需要手動釋放。如圖11-1:


最後結果如圖11-2:


8、PHP數據類型之NULL

特殊的 NULL 值表示一個變量沒有值,NULL 類型唯一可能的值就是 NULL。

在下列情況下變量被認為是 NULL:

1、被賦值為 NULL

2、尚未被賦值

3、被 unset()函數處理過

如圖12-1,圖12-2:



 

You May Also Like