本節講解的內容
- php的簡單介紹
- php的四種標籤格式
- php的變量
- php的基礎數據類型
PHP的簡單介紹
php是開源的腳本語言,主要用於web開發,語法吸收了C語言,Java和perl的特點,利於學習,使用廣泛,用php做出來的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML文檔中去執行,執行速度更快。
PHP的四種標籤格式
當php的代碼寫到固定的格式中時,解析器纔會去執行php代碼,而常見的PHP標籤有四種:
我們一般用的是第一種格式。也是最常見的格式。
PHP變量
變量:是指沒有固定的值,可以改變的數。
而我們創建變量的目的是:爲了存放數據,以便後來對數據進行操作。
變量名的命名規則:必須是數字,字母,下劃線組成的且不能以數字開頭的。
常用命名規則:
- 駝峯式命名法:username->>>userName: 從第二個單詞開始,首字母大寫
- 帕斯卡命名法:username->>>UserName:每個單詞的首字母大寫
- 下劃線命名法:username->>>user_name:單詞都是小寫,單詞之間用下劃線隔開常用命名規則:
在以後的函數名的命名規則也可以歸納爲這三點。
PHP的變量名有個特點:變量的前面必須加一個$符號,也就是shift + 4;同時爲了開發方便,變量的名字一般要有含義。
PHP基本數據類型
大多數語言語言,都是有數據類型這個說法,數據類型可以把我們在開發中使用到的數據進行分類,也是爲了更好的管理吧。
PHP的基本數據類型分類:
- 基本數據類型: 整型(int/integer), 浮點型(float/double), 布爾型(bool/boolean), 字符串(string)
- 複合數據類型: 數組(array), 對象(object)
- 特殊數據類型: 空(null), 資源(resource)
整型數據類型
整型數據類型,就是我們平常使用的負整數,正整數等;
PHP中的整型可以是八進制(逢八進一)、十進制、十六進制(逢十六進一)。
$a = 2; //十進制
$a = 023;//八進制
$a = 0x23;//十六進制
八進制:前面有一個0,表示是八進制。
十六進制:前面有兩個0x,表示是十六進制。
整型的大小有一個限度。而PHP的整型的字長和平臺有關,一般是4個字節,而4個字節是32位,所以一般PHP的長度是2的31次方,其中有一位代表符號位。
在PHP中可以用系統常量PHP_INT_MAX得到最大值。但是當整型的值超過最大值的時候,就會自動轉換成float類型。
注意:PHP中不支持無符號數。
浮點型數據類型
浮點型數據類型,就是我們通常說的小數。也叫作雙精度或者實數。
字符串的字長也和平臺有關,一般是1.8e308,並具有14位十進制數字的精度。而小數的精度一般是從左起第一個非0的數字開始計算的。
echo 123456.78912345123;//輸出結果123456.78912345--最後面的123四捨五入掉
echo 0000123456789.256486587441;//輸出結果123456789.25649--6587441四捨五入向前進一位8變9
關於浮點型的比較,要根據不同的情況進行處理
- 如果兩個浮點數是直接賦值的,可以直接比較。
- 如果兩個浮點數有一個,或者多個是運算後得的的結果,需要使用abs或者round函數擴大倍數後比較.
布爾數據類型
布爾數據類型也就是真(true)或者假(false),但是除了這兩種形式,當其他的數據類型的值在某個條件也是有真假的。
一下的情況都會當成false:
- 整型值0
- 浮點型值0.0
- 空字符串和字符串‘0’
- 不包括任何元素的數組
- 不包括任何成員的對象
- 特殊類型null
- 從空標記生成的SimpleXML對象。
字符串數據類型
字符串就是一系列字符加上引號組成的,而PHP中字符串最大可以使2GB;
在開發中我們經常會使用到字符串,而關於字符串的定義方式,大致可以分爲四種:
- 單引號
- 雙引號
- Heredoc(雙引號)
- nowdoc(單引號)
單引號:當字符串定義了單引號時,解析器不會對字符串中的變量進行解析。而是直接輸出。
$a = 12;
$b = '這是一個單引號$a';
echo $b;
-----結果------
這是一個單引號$a
雙引號:解析器會對字符串中的變量進行解析。
$a = 12;
$b = "這是一個單引號$a";
echo $b;
-----結果------
這是一個單引號12
Heredoc:當定義的字符串過長的時候,可以考慮使用者中方式,這種方式會對字符串中的變量進行解析。
$a = 12;
$b = <<<EOP//這個大寫字母的定義可以隨意。
這是一個hereDoc的類型$a;
EOP;
echo $b;
-----結果------
這是一個hereDoc的類型12;
注意:EOP的前後不能有空格或其他任何的字符
nowdoc:這種方式不會對字符串中的變量進行解析。
$a = 12;
$str = <<<'COO'
這是一個nowDoc$a;
COO;
echo $str;
-----結果------
這是一個nowDoc$a;
基本數據類型轉換
數據類型就是從一種類型轉換到另外一種類型。轉換一般可以分爲兩種自動類型轉換、強制類型轉換;
在一般情況下,當我們不知道數據是什麼類型的時候可以使用var_dump(),這個函數可以打印數據的具體信息,其中就包括數據的類型。而PHP幫助文檔中又提供了一種方式得到數據的類型getType()但是文檔中明確表示不推薦使用:
自動類型轉換
在前面介紹過,當整型的數據越過它的範圍的時候,它就會自動轉換成浮點型類型。這種自動完成的類型轉換就是自動類型轉換。
自動類型轉換的場景:
整型數過大,自動轉換成浮點型。
$a = PHP_INT_MAX;//表示整型的最大值
var_dump($a); //輸出$a的類型
$a = PHP_INT_MAX + 1; //$a的值大於整型的最大值。
var_dump($a);
-----結果------
int(2147483647) float(2147483648)
當進行數值運算的時候,經常發生自動類型轉換。
$a = 1; //整型
$b = 3.14; //浮點型
$res = $a + $b; //計算兩個數的和
var_dump($res); //輸出類型
-----結果------
float(4.14)
$a = 10;//整型
$b = 4;//整型
$res = $a / $b; //相除
var_dump($res);
-----結果------
float(2.5)
強制類型轉換
當我們想強制把當前的類型轉換成其他類型的時候,可以使用強制類型轉換:
使用bool settype ( mixed &
$a = 100; //整型
settype($a, 'float');//強制類型轉換
var_dump($a);
-----結果------
float(100)
$type的可能值是:
- “boolean” (或爲“bool”,從 PHP 4.2.0 起)
- “integer” (或爲“int”,從 PHP 4.2.0 起)
- “float” (只在 PHP 4.2.0 之後可以使用,對於舊版本中使用的“double”現已停用)
- “string”
- “array”
- “object”
- “null” (從 PHP 4.2.0 起)
使用類型
$a = 200;
$b = (string)$a;
var_dump($b);
-----結果------
string(3) "200"
使用函數得到對應的數據類型,比如intval , floatval ,boolval, strval
$a = 12.923;//浮點型
$b = intval($a);
var_dump($b);
-----結果------
int(12)
注意:當浮點型轉換成整型的時候,會自動忽略小數點後的數,並不會四捨五入。
NULL數據類型
NULL:表示一個變量沒有值,NULL 類型唯一可能的值就是 NULL。
在下列情況下一個變量被認爲是 NULL:
- 被賦值爲 NULL
- 尚未被賦值
- 被 unset()
其他的數據類型,數組,對象,資源在後面會介紹。
特別說明:在PHP中當我們想輸出一個數的時候,可以使用echo進行輸出,而字符串連接使用一個點.表示。也可以通過var_dump()進行輸出,var_dump()可以輸出當前數據的類型是什麼。
總結
基本數據類型使我們必須要掌握的,在以後的開發中,我們操作的數據都是基本數據類型。