本篇文章給大家分享的是關於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.局部變數
在函數內部建立的變數,其範圍是從建立變數的語句開始到函數末尾。需要注意的是:如果函數內部的變數與外部的全域變數名稱相同時,內部變數會覆蓋外部變數。另外,在函數內部建立的靜態變數是無法在函數外部使用的。
require
和
include
不影響範圍,即如果這兩個語句作用於函數內部,變數具有局部範圍;如果作用於函數外部,變數具有全域範圍。
用關鍵字 global
聲明變數,可以用來手動指定一個在函數中定義或使用的變數具有全域範圍。
相關推薦:
PHP 學習總結之字串