PHP.常量和變量

常量

?

?????? 獲取常量的值有兩種方法:一種是使用常量名直接獲取值;另一種是使用constant()函參數(shù)const_name為要獲取常量的名稱,也可為存儲常量名的變量。如果成功則返回常量的值,否則提示錯誤信息常量沒有被定義。
???? 參數(shù),constant()函數(shù)和直接使用常量名輸出的效果是一樣的,但函數(shù)可以動態(tài)地輸出不同的常量,在使用上要靈活方便得多。函數(shù)的語法格式為:mixed constant(string const_name)
使用defined()函數(shù),來判斷一個常量是否已經(jīng)定義。該函數(shù)的語法格式如下:
bool defined(string constant_name);
參數(shù)constant_name為要獲取常量的名稱,成功則返回true,否則返回false
預(yù)定義常量:
1.__FILE__:默認常量,PHP程序文件名
2.__LINE__:默認常量,PHP程序行數(shù)


變量

????? 變量是指在程序執(zhí)行過程中數(shù)值可以變化的量。變量通過一個名字(變量名)來標識。系統(tǒng)為程序中的每一個變量分配一個存儲單元,變量名實質(zhì)上就是計算機內(nèi)存單元的命名。因此,借助變量名即可訪問內(nèi)存中的數(shù)據(jù)。

聲明:和很多語言不同,在PHP中使用變量之前不需要聲明變量(PHP 4之前需要聲明變量),只需為變量賦值即可。
要求:變量賦值,是指給變量一個具體的數(shù)據(jù)值,對于字符串和數(shù)字類型的變量,可以通過“=”來實現(xiàn)。格式為:
命名規(guī)則:對變量賦值時,要遵循變量命名規(guī)則
合法的變量命名:$thisCup="oink";$_Class="roof ";
非法的變量命名:$11112_var=11112;? //變量名不能以數(shù)字字符開頭
???????????????????????? $@spcn = "spcn";? ? ? ? ? //變量名不能以其他字符開頭

除了直接賦值外,還有兩種方式可為變量聲明或賦值(類似iOS的深淺拷貝)
變量間賦值:變量間的賦值是指賦值后兩個變量使用各自的內(nèi)存,互不干擾。
引用賦值:引用的概念是,用不同的名字訪問同一個變量內(nèi)容。當改變其中一個變量的值時,另一個也跟著發(fā)生變化。使用&符號來表示引用。

變量的作用域:
概述:變量在使用時,要符合變量的定義規(guī)則。變量必須在有效范圍內(nèi)使用,如果變量超出有效范圍,則變量也就失去其意義了。變量的作用域如下表所示。
局部變量:在函數(shù)的內(nèi)部定義的變量,其作用域是所在函數(shù)。
全局變量:被定義在所有函數(shù)以外的變量,其作用域是整個PHP文件,但在用戶自定義函數(shù)內(nèi)部是不可用的。如果希望在用戶自定義函數(shù)內(nèi)部使用全局變量,則要使用global關(guān)鍵字聲明
靜態(tài)變量:能夠在函數(shù)調(diào)用結(jié)束后仍保留變量值,當再次回到其作用域時,又可以繼續(xù)使用原來的值。而一般變量是在函數(shù)調(diào)用結(jié)束后,其存儲的數(shù)據(jù)值將被清除,所占的內(nèi)存空間被釋放。使用靜態(tài)變量時,先要用關(guān)鍵字static來聲明變量,把關(guān)鍵字static放在要定義的變量之前。
變量作用域表明:在函數(shù)內(nèi)部定義的變量,其作用域為所在函數(shù),如果在函數(shù)外賦值,將被認為是完全不同的另一個變量。在退出聲明變量的函數(shù)時,該變量及相應(yīng)的值就會被清除。
靜態(tài)變量的應(yīng)用:在博客中使用靜態(tài)變量記錄瀏覽者的人數(shù),每一次用戶訪問和離開時,都能夠保留目前瀏覽者的人數(shù)。在聊天室中也可以用靜態(tài)變量來記錄用戶的聊天內(nèi)容。
全局變量的說明:全局變量可以在程序中的任何地方訪問,但是在用戶自定義函數(shù)內(nèi)部是不可用的。想在用戶自定義函數(shù)內(nèi)部使用全局變量,要使用global關(guān)鍵字聲明。
$zy = "不會看到." ;//聲明全局變量
$zy$zyy = "會看到" ;//聲明全局變量
$zyyfunction globaltest(){
echo $zy."<br>";//$zy不能被調(diào)用,沒有輸出? ? ? ? ??
global $zyy;//利用關(guān)鍵字global在函數(shù)內(nèi)部定義全局變量? ? ? ? ? ?
echo $zyy."<br>" ;//此處調(diào)用$zyy
}? ?
globaltest();

可變變量:

概念:可變變量是一種獨特的變量,它允許動態(tài)改變一個變量名稱。(類似iOS的雙指針)
原理:該變量的名稱由另外一個變量的值來確定,實現(xiàn)過程就是在變量的前面再多加一個美元符號“$”。
<?php
$change_name = "trans";?????????????????????????? //聲明變量
$trans = "You can see me!";//聲明變量
$transecho $change_name ;? ? ? ? ? ? ? ? ? ? ?? //輸出變量$change_nameecho "
echo "<br>";?????????????????????????????????????????????? //換行
echo $$change_name ;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //通過可變變量輸出$trans的值
?>

預(yù)定義變量:
$_SERVER['SERVER_ADDR']:當前運行腳本所在的服務(wù)器的IP地址
$_SERVER['SERVER_NAME']:當前運行腳本所在服務(wù)器主機的名稱。如果該腳本運行在一個虛擬主機上,則該名稱是由虛擬主機所設(shè)置的值決定
$_SERVER['REQUEST_METHOD']:訪問頁面時的請求方法。如GET、HEAD、POST、PUT等,如果請求的方式是HEAD,PHP腳本將在送出頭信息后中止(這意味著在產(chǎn)生任何輸出后,不再有輸出緩沖)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容