PHP 学习总结之变量
變量標(biāo)識(shí)符
標(biāo)識(shí)符即是變量的名稱,PHP 中關(guān)于變量的標(biāo)識(shí)符有以下規(guī)則:
- 由任意字母、數(shù)字、下劃線組成,但不能以數(shù)字開頭
- 嚴(yán)格區(qū)分大小寫
為了科學(xué)規(guī)范標(biāo)識(shí)符,主要有以下幾種流行的命名方式:
1. 駝峰命名法
第一個(gè)單詞以小寫字母開始,之后每個(gè)單詞的首字母大寫(小駝峰法);或每一個(gè)單詞的首字母都采用大寫字母(大駝峰法,也稱帕斯卡命名法)。
$myFirstName = 'jochen'; # 小駝峰法 $MyFirstName = 'jochen'; # 大駝峰法2.匈牙利命名法
變量名 = 屬性 + 類型 + 對(duì)象描述。
$sMyFirstName = 'jochen';3.下劃線命名法
所有字母均小寫,并且每個(gè)單詞間以下劃線分割
$my_first_name = 'jochen';變量賦值
PHP 提供了兩種方式給變量賦值,分別是傳值賦值和引用賦值。
最常用的是傳值賦值,當(dāng)將一個(gè)表達(dá)式的值賦予一個(gè)變量時(shí),整個(gè)原始表達(dá)式的值被賦值到目標(biāo)變量。這意味著,當(dāng)一個(gè)變量的值賦予另外一個(gè)變量時(shí),改變其中一個(gè)變量的值,將不會(huì)影響到另外一個(gè)變量。
引用賦值是原始變量?jī)?nèi)容的一種別名,不同于 C 語言中的指針,但改動(dòng)變量的值一樣會(huì)影響到原始變量。
$foo = 'jochen'; # 傳值賦值 $bar = &$foo; # 引用賦值$bar = 'coco'; # $foo、$bar 的值都為 coco變量類型
變量類型是指能夠保存在該變量中的數(shù)據(jù)類型。PHP 的數(shù)據(jù)類型可分為三種:標(biāo)量數(shù)據(jù)類型、復(fù)合數(shù)據(jù)類型和特殊數(shù)據(jù)類型。PHP 標(biāo)量數(shù)據(jù)類型有 boolean(布爾型)、integer(整型)、float(浮點(diǎn)型,也稱作 double)、string(字符串),復(fù)合數(shù)據(jù)類型有 array(數(shù)組)、object(對(duì)象) 和 callable(可調(diào)用),特殊數(shù)據(jù)類型 resource(資源) 和 NULL(無類型)。
PHP 是一種弱類型語言,變量在使用之前并不需要聲明類型,且同一變量可以保存多種不同類型的數(shù)據(jù)。有時(shí),為了判斷當(dāng)前變量的數(shù)據(jù)類型,我們可以使用以下方法進(jìn)行判斷:
gettype() — 獲取變量的類型 is_int() 或 is_integer() — 檢測(cè)變量是否是整數(shù) is_numeric() — 檢測(cè)變量是否為數(shù)字或數(shù)字字符串 is_float() 或 is_double() — 檢測(cè)變量是否是浮點(diǎn)型 is_string() — 檢測(cè)變量是否是字符串 is_bool() — 檢測(cè)變量是否是布爾型 is_array() — 檢測(cè)變量是否是數(shù)組 is_object() — 檢測(cè)變量是否是一個(gè)對(duì)象 is_null() — 檢測(cè)變量是否為 NULL is_resource() — 檢測(cè)變量是否為資源類型有時(shí),我們需要強(qiáng)制將某個(gè)變量當(dāng)作某種類型來求值,就要進(jìn)行類型強(qiáng)制轉(zhuǎn)換:
(int) 或 (integer) — 轉(zhuǎn)換為整形 (bool) 或 (boolean) — 轉(zhuǎn)換為布爾類型 (float) 或 (double) — 轉(zhuǎn)換為浮點(diǎn)型 (string) — 轉(zhuǎn)換為字符串 (array) — 轉(zhuǎn)換為數(shù)組 (object) — 轉(zhuǎn)換為對(duì)象 (unset) — 轉(zhuǎn)換為 NULL變量作用域
1.超全局變量
由 PHP 預(yù)定義的,且在任何腳本的任何作用域中始終可用的一種變量。超全局變量包括:
- $GLOBALS
- $_SERVER
- $_REQUEST
- $_POST
- $_GET
- $_FILES
- $_ENV
- $_COOKIE
- $_SESSION
其中 $GLOBALS 是一個(gè)包含了所有全局變量的關(guān)聯(lián)數(shù)組,變量的名字就是數(shù)組的 key,變量的值就是數(shù)組的 value。
2.全局變量
在函數(shù)外部創(chuàng)建的變量, for 語句 、while 語句、foreach 語句中創(chuàng)建的變量也屬于全局變量,其作用域是從創(chuàng)建變量的語句開始到文件的末尾,但在函數(shù)內(nèi)部不可見。需要注意的是:常量一旦被創(chuàng)建,將在全局中可見,同時(shí)在函數(shù)內(nèi)部也是可見的。
3.局部變量
在函數(shù)內(nèi)部創(chuàng)建的變量,其作用域是從創(chuàng)建變量的語句開始到函數(shù)末尾。需要注意的是:如果函數(shù)內(nèi)部的變量與外部的全局變量名稱相同時(shí),內(nèi)部變量會(huì)覆蓋外部變量。另外,在函數(shù)內(nèi)部創(chuàng)建的靜態(tài)變量是無法在函數(shù)外部使用的。
require 和 include 不影響作用域,即如果這兩個(gè)語句作用于函數(shù)內(nèi)部,變量具有局部作用域;如果作用于函數(shù)外部,變量具有全局作用域。用關(guān)鍵字 global 聲明變量,可以用來手動(dòng)指定一個(gè)在函數(shù)中定義或使用的變量具有全局作用域。
總結(jié)
以上是生活随笔為你收集整理的PHP 学习总结之变量的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 获取网卡地址
- 下一篇: 动态规划算法php,php算法学习之动态