PHP基礎教程二之基本數據類型

本節講解的內容

  • 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

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

  1. 如果兩個浮點數是直接賦值的,可以直接比較。
  2. 如果兩個浮點數有一個,或者多個是運算後得的的結果,需要使用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 &var,string 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()可以輸出當前數據的類型是什麼。

總結

  基本數據類型使我們必須要掌握的,在以後的開發中,我們操作的數據都是基本數據類型。

發佈了38 篇原創文章 · 獲贊 28 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章