大家好,歡迎關注支持,謝謝!本篇將介紹php常量是什麼?它和變量有什麼區別?有興趣的朋友可以了解一下!
一、前言
php是一門很受歡迎的程式語言之一,它的語法簡單易學,迎來了一大批自學者,小編也是其中之一。小編自學php學了四個多月吧!雖然算不上精通,但是也算得上小有成就,獨立開發中小型網站還是不成問題的。由於我大學是計算機專業的,學過很多計算機語言(c語言、c#、java等),所以自學php很輕鬆很快。很多計算機語言都是互通的,學過一門之後,再學第二門就很輕鬆了。
為了能讓更多的人學好php,小編結合自己的理解和自學時所做的筆記,整合了一些知識點,並藉助百家號這個大平臺分享給大家,希望對大家有所幫助!今天小編將分享的是php常量,以及它和變量的區別。
二、php常量
1、什麼是php常量?
所謂常量就是不能改變的量,php常量一旦被定義,就不能被改變或取消定義。這是官方的解釋,也是最權威的解釋。php常量通常用來存儲一個不被改變也不希望變化的數據,該數據只能是四種標量數據類型的數據:整型(整數),浮點型(小數),字符串,布爾型(true/false)。
2、php常量的命名規範
php常量的命名規則和php變量的命名規則類似但不完全一樣。
php常量名必須由字母、下劃線、數字組成;不能以數字開頭;是否區分大小寫在定義的時候指定;建議命名時見名知意(看見就知道代表什麼意思),用英文單詞作為常量名,而且建議字母都大寫(如:PI);php常量的命名:
<?php
header("content-type:text/html;charset=utf-8");//設置編碼,解決中文亂碼
/*define("PI-1",3.14); 常量名錯誤,只能由字母、下劃線、數字組成
* define("2PI",3.14);常量名錯誤,不能以數字開頭
*/
define("PI_2",3.14);//正確
define("PI_3",3.142);//正確
echo PI_2;//輸出常量PI_2
echo " ";//輸出空格
echo PI_3;//輸出常量PI_3
?>
運行結果:3.14 3.142
3、php常量怎麼定義?
php常量是用define()函數來定義的,define()函數有兩個必選參數和一個可選參數。第一個參數規定常量的名稱,也叫標識符;第二個參數規定常量的值,就是一個不希望被改變的標量數據類型的數據;第三個參數是可選參數,用來規定常量名是否區分大小寫。如果為TRUE,常量名不區分大小寫;如果為FALSE(默認),則區分大小寫。
使用define()函數定義常量:
<?php
header("content-type:text/html;charset=utf-8");//設置編碼,解決中文亂碼
define("PI2",3.14);//區分大小寫
define("PI3",3.142,true);//不區分大小寫
echo PI2;//輸出常量PI2
echo " ";//輸出空格
echo pi3;//輸出常量PI3
?>
運行結果:3.14 3.142
4、什麼時候需要使用php常量?
小編認為,常量的主要作用可以避免重複定義,篡改其值。在團隊開發或代碼量很大的時候,在定義一些不希望被改變的數據時。如果使用全局變量的話,在之後的代碼中,如果不小心用到相同的變量名,之前的變量值就會被替換,代碼運行結果就不是我們所期望的了。
此外php常量還可以提高我們代碼的可維護性,如果由於一些原因,常量值需要發生改變,我們只需要修改常量定義時給定的值即可。
版本升級後,修改圓周率增加精確度:
<?php
header("content-type:text/html;charset=utf-8");//設置編碼,解決中文亂碼
//define("PI",3.14);//版本1
define("PI",3.142);//版本2
$r = 6;
echo "周長:".(2*PI*$r);//輸出圓的周長
echo " ";//輸出空格
echo "面積:".(PI*$r*$r);//輸出圓的面積
?>
運行結果:周長:37.704 面積:113.112
5、php常量的作用域
php常量具有超全局的作用域,所謂超全局就是可以在定義之後的任何地方直接訪問。
在函數中訪問常量不需要使用global關鍵字;在函數中訪問全局變量需要使用global關鍵字。
全局變量和超全局變量:
<?php
header("content-type:text/html;charset=utf-8");//設置編碼,解決中文亂碼
define("PI",3.14);//定義常量
$pi = 3.142;//變量
function fun(){
echo PI;//函數中使用常量可直接使用
echo " ";//輸出空格
global $pi;//函數中使用全局變量需要使用global關鍵字
echo $pi;
}fun();//調用函數
?>
運行結果:3.14 3.142
三、php常量和變量的區別
定義方式不同:php變量沒有定義的關鍵字或函數,在賦值的時候被定義。而php常量必須使用define()函數來定義。名稱不同:php變量名前需要使用美元符號($)修飾,php常量名則不需要。php變量名建議小寫,由多個單詞組成的時候,第一個單詞首字母小寫,其餘的單詞首字母大寫。而php常量名建議全大寫。值的含義不同:php變量存儲的值可以改變,而php常量存儲的值不可改變。作用域不用:php變量定義在所有函數之外,具有全局作用域;當定義在函數內,有局部作用域。php常量一般定義在所有函數之外,具有超全局作用域。數據類型範圍不同:php變量可以是任何數據類型,而php常量只能是標量類型(integer、float/double、string、boolean)。
好了,關於「php常量是什麼?它和變量有什麼區別?」的介紹就到此結束了,希望能幫助大家!