03-數據類型


PHP變量的類型

PHP支持八種原始類型---var_dump()
- 四種標量
    布爾型(boolean)
    整形(integer)
    浮點型(float)(讀點書,也作double)
    字符串(String)
- 兩種符合類型
    數組(Array)
    對象(Object)
- 兩種特殊類型
    資源(Resource)
    NULL

布爾值

布爾值表示爲:true/false
當其他類型轉換爲boolean類型時,某些值也被認爲是false(假):

  • 布爾值false
  • 整型值 0
  • 浮點型 0.0
  • 空白字符串和字符串"0"
  • 空數組
  • NULL
    其它的值都被認爲是true(真)
其他的類型也可以表示爲布爾值比如:
<?php
//boolean false
//int 0
//float 0.0,0.00
//String "","0"
//array 空數組
//NULL 
$boolean = "0";
if($boolean){
    echo "這是真值";
}else{
    echo "這是假值";
}
?>
輸出:這是假值

整型和浮點型

整型值可以用十進制,十六進制或八進制符號指定,前面可以加上可選的符號(- 或者 +)代表數值的正負。

<?php
    $a = 1234; 	// 十進制數
    $a = -123; 	// 一個負數
    $a = 0123; 	// 八進制數(等於十進制的 83)
    $a = 0x1A; 	// 十六進制數(等於十進制的 26)
?>

整數值有最大的使用範圍,這與平臺有關,對於32位系統而言範圍:-2147483648~2147483647,PHP不支持無符號整數。如果超出了則變成了float型。

<?php
$large_number=2147483648;
var_dump($large_number);
?>
輸出:float(2147483648)

浮點數(也叫雙精度數或實數)是包含小數部分的數。通常用來表示整數無法表示的數據,如金錢值、距離值、速度值等。浮點數的字長和平臺相關,儘管通常最大值是 1.8e308 並具有 14 位十進制數字的精度。
可以用以下任何語法定義:

<?php
    $a = 1.234;
    $a = 1.2e3;	 //相當於1.2*103即1200
    $a = 7E-10;	//相當於7*10-10即0.0000000007
?>

字符串類型

字符串聲明

  1. 在php中,一個字符和多個字符都是字符串
  2. 聲明一個字符串必須使用單引號或雙引號引起來
  3. 字符串是沒有長度限制的
  4. 在單引號中可以使用雙引號,在雙引號中也可以使用單引號
  5. 在單引號中不可以再使用單引號,在雙引號中也不可以使用雙引號
  6. 可以使用轉義字符 \
<?php
    $a="hello";
    $b='hello';
?>

單引號和雙引號的區別

  1. 在雙引號可以解析變量,在單引號中不能解析變量(變量可以加{}解析)
  2. 在雙引號中可以使用轉義字符 \n \r \t ,在單引號中不能使用轉義字符(在單引號中只能轉移單引號自己和轉義符號本身)
\n 換行
\r 回車
\t 水平製表符
\\ 反斜線
\$ 美元符號
......

定界符號聲明字符串

  1. 使用<<<小於號
  2. 在開始的定界符(自定義的字符串中)一定要左邊挨着<<<,寫完定界的字符串,一定要,直接回車(空格都不可以)
  3. 在結尾的字符串定界中,一定要頂頭寫,和開始的字符串要一致,並且回車
  4. 使用單引號在開始的定界符中,將支持雙引號的功能改爲單引號的功能
<?php
$int=5;
$a=<<<hello
	black $int red \$ a
hello;

$b=<<<'word'
	black $int red \$ a
word;
echo $a;
echo "</br>";
echo $b;
?>
輸出:black 5 red $ a
      black $int red \$ a

變量之間的類型轉換

數據類型強制轉換

  1. PHP 中的類型強制轉換和 C 中的非常像:在要轉換的變量之前加上用括號括起來的目標類型
  2. 允許的強制轉換有:
  • (int),(integer)-轉換成整型
  • (bool),(boolean)-轉換成布爾型
  • (float),(double),(real)-轉換成浮點型
  • (string)-轉換成字符串
  • (array)-轉換成數組
  • (object)-轉換成對象
  1. 注意在括號內允許有空格和製表符,爲了將一個變量還原爲字符串,還可以將變量放置在雙引號中

變量類型的測試函數

  • is_bool():判斷是否是布爾型
  • is_int()、is_integer()、is_long():判斷是否爲整型
  • is_float()、is_double()、is_real():判斷是否爲浮點型
  • is_string():判斷是否爲字符串
  • is_array():判斷是否爲數組
  • is_object():判斷是否爲對象
  • is_resource():判斷是否爲資源類型
  • is_null():判斷是否爲null
  • is_scalar():判斷是否爲標量
  • is_numberic():判斷是否是任何類型的數字和數字字符串
  • is_callable():判斷是否是有效的函數名
  • bool settype(mixed var,string type) :將變量var的類型設置爲type
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章