1. 程式人生 > >PHP基礎之變數(2)

PHP基礎之變數(2)

基本資料型別

四種標量型別

  • boolean (布林型)
  • integer (整型)
  • float (浮點型)
  • string (字串)

兩種複合型別:

  • array (陣列)
  • object (物件)

最後是兩種特殊型別:

  • resource (資源)
  • NULL (NULL)

偽型別

為確保程式碼的易讀性而提出的偽型別。以及偽變數 $….
“雙精度”型別:double,其實際上和float是相同的,由於一些歷史原因,這兩個名稱同時存在
偽型別有以下幾種:
1. mixed
2. number
3. callback

變數列印


  • echo();
  • print_r();
  • var_dump();
存在一個變數和一個數組和資源型變數
分別嘗試去列印下面五個變數:
$a = '1';
$b = array(1,2,'3');
$fh = fopen('./02.php','r');
class Car {
    var $color;
    function __construct($color) {
        $this->color = $color; 
    }
}
$obj = new Car('white');
$type = NULL;

輸出結果

    echo "$a" // 1
    echo "$b" // Notice: Array to string conversion,意思是echo函式把`$b`當作一個字串去輸出,解析為字串"Array"
    echo "$fh"; // Resource id #3
    echo "$obj"; // Catchable fatal erro: 例項化的物件不能轉換成字串輸出
    echo "$type"; // 什麼也沒有輸出

    print_r($a); // 1
    print_r($b); // Array ( [0] => 1 [1] => 2 [2] => 3 )
print_r($fh); // Resource id #3 print_r($obj); // Car Object ( [color] => white ) print_r($type); // 什麼也沒有輸出 var_dump($a); // string '1' (length=1) var_dump($fh); // resource(3, stream) var_dump($type); // null var_dump($obj); // 輸出如下: object(Car)[1] public 'color' => string 'white' (length=5) var_dump($b); // 輸出如下: array (size=3) 0 => int 1 1 => int 2 2 => string '3' (length=1)

總結:

echo():可以輸出標量型別和特殊型別resource的變數儲存的值,但是不知道值的資料型別,特殊標識的型別除外。(如resource…)
print_r():可以輸出除NULL特殊型別以外的所有資料型別,且知道值的資料型別,但是不知道陣列、物件中key對應的value的資料型別。
var_dump():可以輸出所有資料型別,且知道所有值的資料型別。