php常量是什麼?它和變量有什麼區別?

2021-01-10 國哥筆記

大家好,歡迎關注支持,謝謝!本篇將介紹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常量是什麼?它和變量有什麼區別?」的介紹就到此結束了,希望能幫助大家!

相關焦點

  • 怎麼理解php中的數組?php的數組創建和使用方法是什麼?
    php數組的定義數組就是值類型相同的變量的集合,在PHP中的一種常用的複合數據類型,數據可以存放很多的數據,可以存儲任何類型的數據。我們可以把變量當做一個包含值得盒子,那麼可以把數組當做當成一個帶有隔層的盒子,每一層都可以存放一個值。
  • 數學思想的重大變革,常量數學到變量數學
    算術、初等代數、初等幾何和三角,都是以不變的數量和固定的圖形為其研究對象,也即常量是初等數學的主要內容。在現實世中「動」和「變」到是永恆的、絕對的、普遍的,而常量數學只能有效地描述相對穩定的現象,不能描述運動和變化的現象,於是變量數學應運而生。
  • 吳健:中俄兩國全方位合作,「是常量,不是變量」
    特約評論員 吳健:俄外長拉夫羅夫,還有俄駐華大使、漢學家傑尼索夫,曾多次用「是常量,不是變量」來形容中俄關係,而我們談這種關係,是具有強大內生動力和獨立價值,不受國際風雲變幻影響,不受任何其他因素幹擾,都是一個意思。
  • php基礎大通關——十分鐘了解php基礎知識點之二
    本節我們繼續通過練習題的方式來熟悉php的基礎知識點。1. echo 和 print 有什麼區別? 它們的作用是一樣的 print 可以接收多個參數,而 echo 不能 echo可以接收多個參數,而 print 不能 print 是一個函數,而 echo 不是解析:echo 可以輸出多個字符串,print 只能輸出一個字符串,它可以表現得像一個函數。所以本題選擇第三個答案。2. upload_max_filesize 中最大上傳默認設置是多少?
  • 實例,PHP計算一個圓的面積
    實例說明常量是PHP編程基礎的重要組成部分,其作用是定義一個不會改變的值。本例通過計算圓的面積說明常量是如何定義和使用的,運行結果如下圖所示。實現過程創建腳本 index.php 文件,首先,通過 drfine()函數定義常量。
  • Php常見問題總結
    在PHP4.2以後的版本中register_global默認為off若想取得從另一頁面提交的變量:方法一:在PHP.ini中找到register_global,並把它設置為on.PHPOb_Start();Session_Start();Echo "<pre>";Echo "本頁得到的_GET變量有:";Print_R($_GET);Echo "本頁得到的_POST變量有:";Print_R($_POST);Echo "本頁得到的_COOKIE變量有:";Print_R
  • 回歸分析的基礎概念1:什麼是變量、自變量、因變量和「啞變量」
    比如本章講的變量和下章要講的相關性。一、什麼是變量。回歸分析需要了解的第一個概念是變量。變量,顧名思義,就是指沒有固定的值,可以變化的量,是相對於常量的一個概念。在回歸分析中,變量是指存在不同的值的各種指標。具體解釋如下。首先,變量需要有一個載體(指標)。比如銷量,比如折扣,比如時間。其次,變量是一個數量。
  • PHP實戰技巧(1)microtime 微秒函數的應用
    微秒函數的應用define('LARAVEL_START', microtime(true));這是 laravel 框架入口文件的第一行代碼,給大家分析一下它的具體意義。定義常量(與變量的區別是 值 不可改變)define(..)
  • Java面向對象之final、abstract抽象、和變量生命周期
    ,非抽象方法和變量。什麼時候使用常量:當在程序中,多個地方使用到共同的數據,而且該數據不會改變,此時可以將其定義全局的常量;一般的,在開發中我們會專門定義一個常量類普通類有的成員(方法、欄位、構造器),抽象類本質上也是一個類,故其都有。抽象類不能創建對象,但抽象類中是可以包含普通方法的。變量生命周期程序中的變量是用來存儲數據的,其又分為常量和變量兩種,關於變量的詳情可以查看我的另一篇文章:Java 變量、表達式和數據類型詳解。
  • C+基礎知識篇:C+常量
    常量可以是任何的基本數據類型,可分為整型數字、浮點數字、字符、字符串和布爾值。 常量就像是常規的變量,只不過常量的值在定義後不能進行修改。 整數常量 整數常量可以是十進位、八進位或十六進位的常量。
  • 3分鐘短文|PHP獲取函數參數名,和類定義的常量,都要反射!
    可是有了這個思路之後,你對於自己的冗餘代碼,應該會有想法了。PHP有這樣的現成函數嗎?很遺憾,沒有!我們需要手動造出來,需要使用一個對象——函數反射 ReflectionFunction。實現起來代碼如下:該對象提供 getParameters 方法,返回一個形參列表。
  • php知識大通關——常見函數功能
    php常見函數1、在php中,下面哪個方法使用 PHP 連接 MySQL 資料庫?2、在php中,下面哪個函數用於在 PHP 中獲取環境變量? search() environment() env() getenv()解析:PHP 中提供了一個 getenv() 函數來訪問所有環境變量的值。3、下面哪個異常處理類方法在發生錯誤時檢索錯誤消息?
  • PHP實例——PHP創建動態圖像
    只要安裝一些第三方的庫文件並具有一定的幾何知識,就可以利用PHP來創建和處理圖像了。header ("Content-type: image/png");     使用ImageCreate()創建一個代表空白圖像的變量,這個函數要求以像素為單位的圖像大小的參數,其格式是ImageCreate(x_size, y_size)。
  • polarphp 0.0.1 alpha 發布:全新 PHP 運行時環境
    項目官網庫:https://gitee.com/polarphp/polarphphttps://github.com/polarphp/polarphp歡迎小夥伴們多多star ^ _ ^為什麼發起 polarphp 項目隨著Go和NodeJS的強勢崛起,PHP的市場份額逐漸被蠶食,而PHP官方仍然堅守在Web編程領域,有些東西越是想守住就越守不住
  • PHP文件包含漏洞利用思路與Bypass總結手冊(二)
    接上一篇:PHP文件包含漏洞利用思路與Bypass總結手冊(一)包含Session在了解session包含文件漏洞及繞過姿勢的時候,我們應該首先了解一下伺服器上針對用戶會話session的存儲與處理是什麼過程,只有了解了其存儲和使用機制我們才能夠合理的去利用它得到我們想要的結果。
  • Print在python中充當了什麼角色?變量和賦值語句又是什麼?
    格式為:print(要列印的數據),各數據可以用逗號』,』分隔開,如已知矩形的長邊長6cm,短邊長4cm,求出這個矩形的周長和面積。分析:長方形的周長等於:(長+寬)*2,面積等於長*寬,注意:print語句後面不像其它語言一樣有結束符。
  • 中考化學:什麼是常量元素?什麼是微量元素?
    最近,有不少同學進行了學校安排的3月份摸底月考,在做化學試卷中碰到了這樣的題目「下列元素中屬於微量元素的是?/下列元素中屬於常量元素的是?」有同學就懵了,題目很簡單但就是沒背下來。是得,有時人生就是這樣。
  • ...形成及其規律;中介變量和調節變量及其區別;動機與行為效率的關係
    01 簡述EEG、fMRI、PET、MEG、fNIRS和TMS的優缺點02 論述經典條件作用的形成及其規律03 簡述中介變量和調節變量及其區別04 簡述動機與行為效率的關係01 簡述EEG、fMRI、PET、MEG、fNIRS和TMS的優缺點【解析】EEG、fMRI、PET、MEG、fNIRS
  • Java基礎入門之常量具體定義
    1.整型常量整型常量是整數類型的數據,有二進位、八進位、十進位和十六進位4種表示形式,具體說明如下:● 二進位:由數字0和1 組成的數字序列。在JDK 7以後,允許使用二進位字面值來表示整數,此時二進位數值前面要以0b或0B開頭,目的是為了和十進位進行區分,如:0b01101100、0B10110101。
  • php基礎打通關之一,你能通關嗎?
    本節將通過試題的方式來講解php的基礎問題,有興趣的來看看自己的php基礎如何!Hypertext Transfer Protocol答案:選擇C PHP("PHP: Hypertext Preprocessor",超文本預處理器的字母縮寫)是一種被廣泛應用的開放原始碼的多用途腳本語言,它可嵌入到 HTML中,尤其適合 web 開發。所以本題答案為CPHP 伺服器腳本由哪個分隔符包圍?A. <?php>...</?>B.