PHP基礎之變數(2)
阿新 • • 發佈:2019-02-20
基本資料型別
四種標量型別
- 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():可以輸出所有資料型別,且知道所有值的資料型別。