PHP 學習總結之變數

來源:互聯網
上載者:User
本篇文章給大家分享的是關於PHP學習中變數部分的知識,有需要的小夥伴可以參考一下

變數標識符

標識符即是變數的名稱,PHP 中關於變數的標識符有以下規則:

  • 由任意字母、數字、底線組成,但不能以數字開頭

  • 嚴格區分大小寫

為了科學規範標識符,主要有以下幾種流行的命名方式:

1. 駝峰命名法

第一個單詞以小寫字母開始,之後每個單詞的首字母大寫(小駝峰法);或每一個單詞的首字母都採用大寫字母(大駝峰法,也稱帕斯卡命名法)。

$myFirstName = 'jochen'; # 小駝峰法$MyFirstName = 'jochen'; # 大駝峰法
2.匈牙利命名法

變數名 = 屬性 + 類型 + 對象描述。

$sMyFirstName = 'jochen';
3.底線命名法

所有字母均小寫,並且每個單詞間以底線分割

$my_first_name = 'jochen';

變數賦值

PHP 提供了兩種方式給變數賦值,分別是傳值賦值和引用賦值。

最常用的是傳值賦值,當將一個運算式的值賦予一個變數時,整個原始運算式的值被賦值到目標變數。這意味著,當一個變數的值賦予另外一個變數時,改變其中一個變數的值,將不會影響到另外一個變數。

引用賦值是原始變數內容的一種別名,不同於 C 語言中的指標,但改動變數的值一樣會影響到原始變數。

$foo = 'jochen'; # 傳值賦值$bar = &$foo;    # 引用賦值$bar = 'coco';   # $foo、$bar 的值都為 coco

變數類型

變數類型是指能夠儲存在該變數中的資料類型。PHP 的資料類型可分為三種:純量資料型別、複合資料型別和特殊資料類型。PHP 純量資料型別有 boolean(布爾型)integer(整型)float(浮點型,也稱作 double)string(字串),複合資料型別有 array(數組)object(對象)callable(可調用),特殊資料類型 resource(資源)NULL(無類型)

PHP 是一種弱類型語言,變數在使用之前並不需要宣告類型,且同一變數可以儲存多種不同類型的資料。有時,為了判斷當前變數的資料類型,我們可以使用以下方法進行判斷:

gettype()                 — 擷取變數的類型is_int() 或 is_integer()  — 檢測變數是否是整數is_numeric()              — 檢測變數是否為數字或數字字串is_float() 或 is_double() — 檢測變數是否是浮點型is_string()               — 檢測變數是否是字串is_bool()                 — 檢測變數是否是布爾型 is_array()                — 檢測變數是否是數組is_object()               — 檢測變數是否是一個對象is_null()                 — 檢測變數是否為 NULL is_resource()             — 檢測變數是否為資源類型

有時,我們需要強制將某個變數當作某種類型來求值,就要進行類型強制轉換:

(int) 或 (integer)  — 轉換為整形(bool) 或 (boolean) — 轉換為布爾類型(float) 或 (double) — 轉換為浮點型(string)            — 轉換為字串(array)             — 轉換為數組(object)            — 轉換為對象(unset)             — 轉換為 NULL

變數範圍

1.超全域變數

由 PHP 預定義的,且在任何指令碼的任何範圍中始終可用的一種變數。超全域變數包括:

  • $GLOBALS

  • $_SERVER

  • $_REQUEST

  • $_POST

  • $_GET

  • $_FILES

  • $_ENV

  • $_COOKIE

  • $_SESSION

其中 $GLOBALS 是一個包含了所有全域變數的關聯陣列,變數的名字就是數組的 key,變數的值就是數組的 value

2.全域變數

在函數外部建立的變數, for 語句 、while 語句、foreach 語句中建立的變數也屬於全域變數,其範圍是從建立變數的語句開始到檔案的末尾,但在函數內部不可見。需要注意的是:常量一旦被建立,將在全域中可見,同時在函數內部也是可見的。

3.局部變數

在函數內部建立的變數,其範圍是從建立變數的語句開始到函數末尾。需要注意的是:如果函數內部的變數與外部的全域變數名稱相同時,內部變數會覆蓋外部變數。另外,在函數內部建立的靜態變數是無法在函數外部使用的。

requireinclude 不影響範圍,即如果這兩個語句作用於函數內部,變數具有局部範圍;如果作用於函數外部,變數具有全域範圍。

用關鍵字 global 聲明變數,可以用來手動指定一個在函數中定義或使用的變數具有全域範圍。

相關推薦:

PHP 學習總結之字串

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.