PHP基礎教程二之基礎資料型別 (Elementary Data Type)

來源:互聯網
上載者:User

本節講解的內容

  • 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基礎資料型別 (Elementary Data Type)

  大多數語言語言,都是有資料類型這個說法,資料類型可以把我們在開發中使用到的資料進行分類,也是為了更好的管理吧。

PHP的基礎資料型別 (Elementary Data Type)分類:

  • 基礎資料型別 (Elementary Data Type): 整型(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

關於浮點型的比較,要根據不同的情況進行處理

  1. 如果兩個浮點數是直接賦值的,可以直接比較。

  2. 如果兩個浮點數有一個,或者多個是運算後得的的結果,需要使用abs或者round函數擴大倍數後比較.

布林值資料型別

  布林值資料型別也就是真(true)或者假(false),但是除了這兩種形式,當其他的資料類型的值在某個條件也是有真假的。

一下的情況都會當成false:

  • 整型值0

  • 浮點型值0.0

  • Null 字元串和字串‘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;

基礎資料型別 (Elementary Data Type)轉換

  資料類型就是從一種類型轉換到另外一種類型。轉換一般可以分為兩種自動類型轉換、強制類型轉換

在一般情況下,當我們不知道資料是什麼類型的時候可以使用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 &

type )

$a = 100; //整型settype($a, 'float');//強制類型轉換var_dump($a);-----結果------float(100)

$type的可能值是:

  1. “boolean” (或為“bool”,從 PHP 4.2.0 起)

  2. “integer” (或為“int”,從 PHP 4.2.0 起)

  3. “float” (只在 PHP 4.2.0 之後可以使用,對於舊版本中使用的“double”現已停用)

  4. “string”

  5. “array”

  6. “object”

  7. “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()可以輸出當前資料的類型是什麼。

總結

  基礎資料型別 (Elementary Data Type)使我們必須要掌握的,在以後的開發中,我們操作的資料都是基礎資料型別 (Elementary Data Type)。

本節講解的內容

  • 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基礎資料型別 (Elementary Data Type)

  大多數語言語言,都是有資料類型這個說法,資料類型可以把我們在開發中使用到的資料進行分類,也是為了更好的管理吧。

PHP的基礎資料型別 (Elementary Data Type)分類:

  • 基礎資料型別 (Elementary Data Type): 整型(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

關於浮點型的比較,要根據不同的情況進行處理

  1. 如果兩個浮點數是直接賦值的,可以直接比較。

  2. 如果兩個浮點數有一個,或者多個是運算後得的的結果,需要使用abs或者round函數擴大倍數後比較.

布林值資料型別

  布林值資料型別也就是真(true)或者假(false),但是除了這兩種形式,當其他的資料類型的值在某個條件也是有真假的。

一下的情況都會當成false:

  • 整型值0

  • 浮點型值0.0

  • Null 字元串和字串‘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;

基礎資料型別 (Elementary Data Type)轉換

  資料類型就是從一種類型轉換到另外一種類型。轉換一般可以分為兩種自動類型轉換、強制類型轉換

在一般情況下,當我們不知道資料是什麼類型的時候可以使用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 &

type )

$a = 100; //整型settype($a, 'float');//強制類型轉換var_dump($a);-----結果------float(100)

$type的可能值是:

  1. “boolean” (或為“bool”,從 PHP 4.2.0 起)

  2. “integer” (或為“int”,從 PHP 4.2.0 起)

  3. “float” (只在 PHP 4.2.0 之後可以使用,對於舊版本中使用的“double”現已停用)

  4. “string”

  5. “array”

  6. “object”

  7. “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()可以輸出當前資料的類型是什麼。

總結

  基礎資料型別 (Elementary Data Type)使我們必須要掌握的,在以後的開發中,我們操作的資料都是基礎資料型別 (Elementary Data Type)。

以上就是PHP基礎教程二之基礎資料型別 (Elementary Data Type)的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.