變數的八種資料型別------06
目錄
一. PHP變數型別-布林型別
1.邏輯是 true 或 false。
2.布林型別(boolean):只有兩個值,一個是TRUE,另一個FALSE,可以理解為是或否;
3.它不區分大小寫,也就是說”TRUE”和“true”效果是一樣的。主要用在條件結構中,例如判斷是否滿足條件的時候,是用“true”表示滿足,用“false”表示不滿足。
4.當我們用”echo”指令輸出布林型別時,如果是“true”則輸出的是“1”,“false”則什麼也不輸出。我們可以使用“var_dump”函式,獲取它真正的資料型別。
5.eg:
<?php
$man = "男";
$flag = $man == "男"; //其中使用“==”等於比較運算子
echo $flag ;
echo "<br />" ;
var_dump($flag);
?>
效果:
1
bool(true)
注意:我們可以發現,雖然使用”echo”指令輸出結果為1
,而“var_dump”給我們表明了“$flag”為布林型別
二: PHP標量型別-整型
1.整型(integer):是沒有小數的數字,類似於常見的整數。
2.整數規則:
- 整數必須有至少一個數字(0-9)
- 整數不能包含逗號或空格
- 整數不能有小數點
- 整數正負均可
- 可以用三種格式規定整數:十進位制(日常使用的數字)、十六進位制(字首是 0x)或八進位制(字首是 0)
3.eg:
<?php $data_int1 = 123; // 十進位制數 echo $data_int1; echo "<br />"; $data_int2 = -123; // 一個負數 echo $data_int2; echo "<br />"; $data_int3 = 0123; // 八進位制數(等於十進位制的 83) echo $data_int3; echo "<br />"; $data_int4 = 0x123; // // 十六進位制數(等於十進位制的 26) echo $data_int4; echo "<br />"; ?>
效果:
123
-123
83
291
注意: 八進位制的“0123;”等於10進制中的83,十六進位制的“0x123;”等於10進位制的291。
三. PHP標量型別-浮點型
1.浮點數是有小數點或指數形式的數字;
2.浮點型(浮點數、雙精度數或實數),也就是通常說的小數,可以用小數點或者科學計數法表示。科學計數法可以使用小寫的e,也可以使用大寫的E;
<?php
$num_float1 = 1.234; //小數點
echo $num_float1;
echo "<br />";
$num_float2 = 1.2e3; //科學計數法,小寫e
echo $num_float2;
echo "<br />";
$num_float3 = 7.0E-3; //科學計數法,大寫E
echo $num_float3;
echo "<br />";
?>
效果圖:
1.234
1200
0.007
注意: 我們可以發現,可以根據需要使用小數點或科學計數法來定義浮點型變數。
四: PHP標量型別-字串型
1.字串是由一系列字元組成,在PHP中,字元和位元組一樣,也就是說,一共有256種不同字元的可能性;
2.字串型可以用三種方法定義:單引號形式、雙引號形式和Heredoc結構形式。
3.eg:單引號形式和雙引號形式
<?php
$str_string1 = '我是字串';
$str_string2 = "我也是字串哦";
echo $str_string1;
echo "<br />";
echo $str_string2;
?>
效果圖:
我是字串
我也是字串哦
4. 當你的字串中包含引號的時候,我們怎麼辦?不要慌哈,咱們想想辦法
- 在單引號中嵌入雙引號;
- 在雙引號中嵌入單引號;
- 使用轉義符“\”;
eg:
<?php
$str_string1 = '甲問:"你在哪裡學的PHP?"'; //單引號中嵌入雙引號
$str_string2 = "乙毫不猶豫地回答:'當然是慕課網咯!'"; //在雙引號中嵌入單引號
$str_string3 = '甲問:\'能告訴我網址嗎?\'';//單引號中嵌入單引號
$str_string4 = "乙答道:\"www.imooc.com\""; //在雙引號中嵌入雙引號
echo $str_string1;
echo "<br />";
echo $str_string2;
echo "<br />";
echo $str_string3;
echo "<br />";
echo $str_string4;
echo "<br />";
?>
. 效果圖:
甲問:"你在哪裡學的PHP?"
乙毫不猶豫地回答:'當然是慕課網咯!'
甲問:'能告訴我網址嗎?'
乙答道:"www.imooc.com"
4.當引號遇到美元咋辦?這裡的美元可不是真正的美元,而是用美元符號標識的變數。
- 當雙引號中包含變數時,變數會與雙引號中的內容連線在一起;
- 當單引號中包含變數時,變數會被當做字串輸出。
eg:
<?php
$love = "I love you!";
$string1 = "慕課網,$love"; //字串中雙引號解析變數
$string2 = '慕課網,$love'; //單引號不解析
echo $string1;
echo "<br />";
echo $string2;
?>
效果圖:
慕課網,I love you!
慕課網,$love
5.當我的字串很長怎麼辦?
我們可以使用Heredoc結構形式的方法來解決該問題,首先使用定界符表示字串(<<<),接著在“<<<“之後提供一個識別符號GOD,然後是字串,最後以提供的這個識別符號結束字串。
<?php
$string1 = <<<GOD
我有一隻小毛驢,我從來也不騎。
有一天我心血來潮,騎著去趕集。
我手裡拿著小皮鞭,我心裡正得意。
不知怎麼嘩啦啦啦啦,我摔了一身泥.
GOD;
echo $string1;
?>
注意: 在賦值符號後,輸入定界符“<<<”,接著是識別符號,你可以用你的女神作為識別符號“GOD”,如第2行,也可以使用你喜歡的狗狗,“DOG”作為識別符號,但是,結尾處的識別符號也必須是一樣的。此外,在結尾的一行,如第7行,一定要另起一行,並且此行除了“GOD”,並以“;”號結束之外,不能有任何其他字元,前後都不能有,包括空格,否則會出現錯誤的哦。切記切記哦。
五: PHP特殊型別-資源
1.資源(resource):資源是由專門的函式來建立和使用的,例如開啟檔案、資料連線、圖形畫布。
2.我們可以對資源進行操作(建立、使用和釋放)。任何資源,在不需要的時候應該被及時釋放。
3.如果我們忘記了釋放資源,系統自動啟用垃圾回收機制,在頁面執行完畢後回收資源,以避免記憶體被消耗殆盡。
4.eg:
<?php
//首先採用“fopen”函式開啟檔案,得到返回值的就是資源型別。
$file_handle = fopen("/data/webroot/resource/php/f.txt","r");//開啟檔案
if ($file_handle){
//接著採用while迴圈一行行地讀取檔案,然後輸出每行的文字
while (!feof($file_handle)) { //判斷是否到最後一行
$line = fgets($file_handle); //讀取一行文字
echo $line; //輸出一行文字
echo "<br />"; //換行
}
}
fclose($file_handle);//關閉檔案
?>
六: PHP特殊型別-空型別(NULL)
1.NULL是空型別,對大小寫不敏感;
2.NULL型別只有一個取值,表示一個變數沒有值;
3.當被賦值為NULL,或者尚未被賦值,或者被unset(),這三種情況下變數被認為為NULL;
4.NULL 值標示變數是否為空。也用於區分空字串與空值資料庫;
5.可以通過把值設定為 NULL,將變數清空;
5.eg1:
<?php
$x="Hello world!";
$x=null;
var_dump($x);
?>
效果圖:
NULL
6.eg2:
<?php
error_reporting(0); //禁止顯示PHP警告提示
$var;
var_dump($var);
$var1 = null; //將“null”賦值給變數“$var1”;
var_dump($var1);
$var2 = NULL; //將“NULL”賦值給變數“$var2”;
var_dump( $var2);
$var3 = "節日快樂!";
unset($var3); //將變數“$var3”登出定義。
var_dump($var3);
?>
效果圖:
NULL
NULL
NULL
NULL
七: 複合型別-陣列
1. 陣列在一個變數中儲存多個值;
2.PHP var_dump() 會返回變數的資料型別和值;
3.eg:
<?php
$cars=array("Volvo","BMW","SAAB");
var_dump($cars);
?>
效果圖:
array(3) { [0]=> string(5) "Volvo" [1]=> string(3) "BMW" [2]=> string(4) "SAAB" }
八: 複合型別-物件
1.物件是儲存資料和有關如何處理資料的資訊的資料型別;
2.在 PHP 中,必須明確地宣告物件;
3.首先我們必須宣告物件的類;對此,我們使用 class 關鍵詞,類是包含屬性和方法的結構;
4.然後我們在物件類中定義資料型別,然後在該類的例項中使用此資料型別:
<?php
class Car
{
var $color;
function Car($color="green") {
$this->color = $color;
}
function what_color() {
return $this->color;
}
}
?>