類型名稱 | 類型表示 | 取值範圍 |
---|---|---|
bool | 布爾型 | true,false |
integer | 整型 | -2147483647-2147483648 |
string | 字符串型 | 字符串長度取決於機器內存 |
float | 浮點型 | 最大值1.8e308 |
object | 對象 | 經過new實例化 $obj=new person(); |
array | 數組類型 | $arr=array(1,2,3,4,5,6);//一維數組 |
resourse | ||
null | 空值 | null |
對於其餘類型咱們可使用(bool)或者(boolean) 進行強制轉換 eg:(bool)1=true;php
// 咱們先定義如下數組 $arr = [ 'one' => [ 'name'=>'jt', 'sex'=>'男' ], 'two'=>'zhaohaitao', 'three'=>'fanchangfa' ]; // 上面是的數組中第一個元素二維的,後兩個是一維的,咱們訪問一維的時候下面幾種方式: echo "$arr[two]"//key沒有單引號 echo "$arr['two']"//key有單引號 會出錯,若是咱們改爲 echo "{$arr['two']}"; 則能夠正確輸出結果 echo "{$arr[two]}"//有雙大括號,可是key沒有單引號 這種狀況PHP會先尋找有沒有常量banana,有的話則將其替換,因爲沒有two常量則出錯<span style="font-family:'Courier New';"> </span> // 可見在訪問一維數組的時候 要麼key不加引號,加了就要被{}括起來,能夠全不加。 // 多維數組測試 echo "$arr[one][name]"; //輸出結果爲Array[name] 可見它返回了一個數組,只解析了一維 echo"{$arr['one']['name']}";//輸出結果爲jt // 在多維數組的訪問中必須使用了大括號key必須使用雙引號括起來
在字符串類型中已經提到,被大括號括起來的,若是不加key引號,是合法的,那麼PHP首先會查找是否有名爲key的常量,有的話就會被替換,沒有的話會產生一個找不到常量的警告才按普通字符串處理,因此建議你們必定加單引號數組
轉換成數組使用(array)type 或者array(type) ,可是若是將只有一個值的轉換成數組,會獲得一個元素的數組,且下標爲0,將NULL轉換成數組會獲得空的數組測試
咱們能夠在遍歷數組的時候改變數組的值,在PHP5.0以上可使用引用實現spa
$arr=array('a','b','c','d','e' ); foreach($arr as &$value) { $value=strtoupper($value); echo $value; }//輸出結果 ABCDE
實例化對象咱們使用new 加入有一個person類,咱們能夠經過如下方式scala
$objPerson=new person();
強制轉換 (object): 若是將一個對象轉化成對象那麼它沒有任何改變,對於其餘任何值將會實例化一個stdclass的對象,若是該值爲NULL,則會實例化一個空對象,若是 將數組轉換成對象那麼會將數組的key做爲對象的屬性,value爲屬性值,其餘類型的值則名爲scalar的成員變量包含該值code
$arr=array('one'=>'a','two'=>'b' ); $obj=(object)$arr; echo $obj->one //輸出結果爲a;
對於其餘值對象
$obj1=(object)'jiang'; echo $obj1->scalar;//輸出結果jiang
null大小寫不敏感,NULL類型只有一個取值,表示一個變量沒有值,下面三種狀況變量被認爲爲NULLthree