php自定義常量,php如何定義常量及獲取常量的值

本文目錄一覽:

php如何定義常量,系統常量和使用常量

定義常量

define(‘NAME’, ‘hello’);

echo NAME;    // hello

PHP 自 5.3 後可以直接通過 const 關鍵字來定義常量

const NAME = ‘hello’;

echo NAME;   // hello

系統常量可以直接列印,如:

echo __DIR__;    // 當前執行文件的路徑

echo __FILE__;   // 當前執行的文件地址及文件名

php如何定義一個常量數組

define常量的值;

$config = array(‘localhost’, ‘127.0.0.1’, ‘user’, ‘pwd’);

$config = serialize($config); //serialize — 產生一個可存儲的值的表示 

define(‘DB_CONFIG’, $config);  //定義一個DB_CONFIG常量

使用時用:

unserialize() 從已存儲的表示中創建 PHP 的值

print_r(unserialize(DB_CONFIG));//還原為數組狀態並列印

//根據類定義靜態數組

    class Constants {

        public static $array = array(‘localhost’, ‘127.0.0.1’, ‘user’, ‘pwd’);

    }

    使用:

print_r(Constants::$array);//列印靜態數組

在PHP裡面如何定義一個常量?請舉例說明

defind(常量名,常量值,[true])

[true]是可選參數,作用是不區分大小寫

例子:defind (“name”,”張三”)

php const用法詳解 以及php常量定義const和define的異同

常量是一個簡單值的標識符(名字)。如同其名稱所暗示的,在腳本執行期間該值不能改變(除了所謂的魔術常量,它們其實不是常量)。常量默認為大小寫敏感。通常常量標識符總是大寫的。

可以用 define() 函數來定義常量。在 PHP 5.3.0 以後,可以使用 const

關鍵字在類定義的外部定義常量,先前版本const

關鍵字只能在類(class)中使用。一個常量一旦被定義,就不能再改變或者取消定義。

常量只能包含標量數據(boolean,integer,float 和 string)。 可以定義 resource

常量,但應盡量避免,因為會造成不可預料的結果。

可以簡單的通過指定其名字來取得常量的值,與變數不同,不應該在常量前面加上 $

符號。如果常量名是動態的,也可以用函數constant() 來獲取常量的值。用

get_defined_constants()

可以獲得所有已定義的常量列表。

常量和變數有如下不同:

·常量前面沒有美元符號($);

·常量只能用 define() 函數定義,而不能通過賦值語句;

·常量可以不用理會變數的作用域而在任何地方定義和訪問;

·常量一旦定義就不能被重新定義或者取消定義;

·常量的值只能是標量。

Example #1 定義常量

?php

define(“CONSTANT”, “Hello world.”);

echo CONSTANT; // outputs “Hello world.”

echo Constant; // 輸出 “Constant” 並發出一個提示性信息

?

Example #2 使用關鍵字 const 定義常量

?php

// 以下代碼在 PHP 5.3.0 後可以正常工作

const CONSTANT = ‘Hello World’;

echo CONSTANT;

?

Example #3 合法與非法的常量名

?php

// 合法的常量名

define(“FOO”,

“something”);

define(“FOO2”,

“something else”);

define(“FOO_BAR”, “something more”);

// 非法的常量名

define(“2FOO”,

“something”);

//

下面的定義是合法的,但應該避免這樣做:(自定義常量不要以__開頭)

// 也許將來有一天PHP會定義一個__FOO__的魔術常量

// 這樣就會與你的代碼相衝突

define(“__FOO__”, “something”);

?

【問】在php中定義常量時,const與define的區別?

【答】使用const使得代碼簡單易讀,const本身就是一個語言結構,而define是一個函數。另外const在編譯時要比define快很多。

(1).const用於類成員變數的定義,一經定義,不可修改。define不可用於類成員變數的定義,可用於全局常量。

(2).const可在類中使用,define不能。

(3).const不能在條件語句中定義常量。

例如:

if (…){

const FOO =

‘BAR’; //

無效的invalid

}

if (…)

{

define(‘FOO’, ‘BAR’); // 有效的valid

}

(4).const採用一個普通的常量名稱,define可以採用表達式作為名稱。

const FOO = ‘BAR’;

for ($i = 0;

$i 32; ++$i) {

define(‘BIT_’ . $i, 1 $i);

}

(5).const只能接受靜態的標量,而define可以採用任何表達式。

例如:

const BIT_5 = 1

5; //

無效的invalid

define(‘BIT_5’, 1 5); //

有效的valid

(6).const定義的常量時大小寫敏感的,而define可通過第三個參數(為true表示大小寫不敏感)來指定大小寫是否敏感。

例如:

define(‘FOO’, ‘BAR’, true);

echo FOO; //

BAR

echo foo; //

BAR

相關函數:

define —

定義一個常量

說明:

bool define ( string $name , mixed $value [,

bool $case_insensitive = false ]

參數:

name :常量名。

value :常量的值;僅允許標量和 null。標量的類型是 integer,

float,string 或者 boolean。 也能夠定義常量值的類型為 resource ,但並不推薦這麼做,可能會導致未

知狀況的發生。

case_insensitive :如果設置為

TRUE,該常量則大小寫不敏感。默認是大小寫敏感的。比如, CONSTANT 和 Constant 代表了不同的值。(Note:

大小寫不敏感的常量以小寫

的方式儲存。)

返回值:成功時返回 TRUE, 或者在失敗時返回 FALSE.

constant —

返回一個常量的值

說明:

mixed constant ( string $name )

通過 name 返回常量的值。當你不知道常量名,卻需要獲取常量的值時,constant()

就很有用了。也就是常量名儲存在一個變數里,或者由函數返回常量名。該函數也適用

class constants。

參數:

name :常量名。

返回值:

返回常量的值。如果常量未定義則返回 NULL。

defined —

檢查某個名稱的常量是否存在

說明:

bool defined ( string $name )

檢查該名稱的常量是否已定義。

Note: 如果你要檢查一個變數是否存在,請使用 isset()。 defined()

函數僅對 constants 有效。如果你要檢測一個函數是否存在,使用 function_exists()。

參數:

name :常量的名稱。

返回值:

如果該名稱的常量已定義,返回 TRUE;未定義則返回

FALSE。

get_defined_constants:

Returns an associative array with the names of all the constants

and their values

以關聯數組返回常量名和常量的值。這包括那些由擴展以及由define()函數創建的常量。

php變數定義方法

PHP語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。以下是為大家分享的php變數定義方法,供大家參考借鑒,歡迎瀏覽!

   1.定義常量define(“CONSTANT”, “Hello world.”);

常量只能包含標量數據(boolean,integer,float 和 string)。

調用常量時,只需要簡單的用名稱取得常量的值,而不能加「$」符號,如:echo CONSTANT;

注: 常量和(全局)變數在不同的名字空間中。這意味著例如 TRUE 和 $TRUE 是不同的。

2.普通變數$a = “hello”;

3.可變變數(使用兩個美元符號($))

$$a = “world”;

兩個變數都被定義了:

$a 的內容是「hello」並且 $hello 的內容是「world」。

因此,可以表述為:

echo “$a ${$a}”;或者 echo “$a $hello”;它們都會輸出:hello world

要將可變變數用於數組,必須解決一個模稜兩可的問題。這就是當寫下 $$a[1] 時,解析器需要知道是想要 $a[1] 作為一個變數呢,還是想要 $$a 作為一個變數並取出該變數中索引為 [1] 的值。解決此問題的語法是,對第一種情況用 ${$a[1]},對第二種情況用 ${$a}[1]。

4.靜態變數

在函數內部static $a = 0;

注意:聲明中用表達式的結果對其賦值會導致解析錯誤如static $a =3+3;(error)

靜態變數僅在局部函數域中存在(函數內部),函數執行完之後,變數值不會丟失,可用於遞歸調用

5.全局變數

在函數體內定義的global變數,函數體外可以使用,在函數體外定義的global變數不能在函數體內使用,在全局範圍內訪問變數可以用特殊的 PHP 自定義 $GLOBALS 數組:

如:$GLOBALS[“b”] = $GLOBALS[“a”] + $GLOBALS[“b”];

在一個函數域內用 global 語句導入的一個真正的全局變數實際上是建立了一個到全局變數的引用

global $obj;

註:對於變數的 static 和 global 定義是以 應用 的方式實現的

   6.給變數賦值:傳地址賦值(簡單引用):

$bar = $foo; //加符號到將要賦值的變數前

改動新的變數將影響到原始變數,這種賦值操作更加快速

注意:只有命名變數才可以傳地址賦值

注意:如果

$bar = $a;

$bar = $foo;

改變$bar的值只能改變變數foo的值,而不改變a的值(引用改變了)

   7.PHP 超全局變數$GLOBALS : 包含一個引用指向每個當前腳本的全局範圍內有效的變數。該數組的鍵標為全局變數的 名稱。從 PHP 3 開始存在 $GLOBALS 數組。

$_SERVER : 變數由 Web 伺服器設定或者直接與當前腳本的執行環境相關聯。類似於舊數組 $HTTP_SERVER_VARS 數組(依然有效,但反對使用)。

$_GET : 經由 HTTP GET 方法提交至腳本的變數。

$_POST : 經由 HTTP POST 方法提交至腳本的變數。

$_COOKIE : 經由 HTTP Cookies 方法提交至腳本的變數。

$_FILES : 經由 HTTP POST 文件上傳而提交至腳本的變數。

文件上傳表單中要有 enctype=”multipart/form-data”

$_ENV : 執行環境提交至腳本的變數。

$_REQUEST :經由 GET,POST 和 COOKIE 機制提交至腳本的.變數,因此該數組並不值得信任。所有包含在該數組中的變數的存在與否以及變數的順序均按照 php.ini 中的 variables_order 配置指示來定義。該數組沒有直接模擬 PHP 4.1.0 的早期版本。參見 import_request_variables()。

注意: 自 PHP 4.3.0 起,$_FILES 中的文件信息不再存在於 $_REQUEST 中。

$_SESSION :當前註冊給腳本會話的變數。

如何禁用phpinfo():

php.ini中

disable_functions = phpinfo()

重啟web伺服器。

php中的常量

常量只能用define(常量名,常量值);

常量只能包含標量數據(boolean,integer,float 和 string)。

可以簡單的通過指定其名字來取得常量的值,不要在常量前面加上 $ 符號。如果常量名是動態的,也可以用函數

constant() 來讀取常量的值。用 get_defined_constants() 可以獲得所有已定義的常量列表。

注: 常量和(全局)變數在不同的名字空間中。這意味著例如 TRUE 和 $TRUE 是不同的。

如果使用了一個未定義的常量,PHP 假定想要的是該常量本身的名字,如同用字元串調用它一樣(CONSTANT 對應 “CONSTANT”)。此時將發出一個 E_NOTICE 級的錯誤。參見手冊中為什麼 $w3sky[bar] 是錯誤的(除非事先用 define() 將 bar 定義為一個常量)。如果只想檢查是否定義了某常量,用 defined() 函數。

常量和變數不同:

* 常量前面沒有美元符號($);

* 常量只能用 define() 函數定義,而不能通過賦值語句;

* 常量可以不用理會變數範圍的規則而在任何地方定義和訪問;

* 常量一旦定義就不能被重新定義或者取消定義;

* 常量的值只能是標量。

定義常量

?PHP

define(“CONSTANT”, “Hello world.”);

echo CONSTANT; // outputs “Hello world.”

echo Constant; // outputs “Constant” and issues a notice.

?

PHP 常量的定義及如何設置

使用define() 函數設置常量,如定義常量 GREETING:

?php

define(“GREETING”, “Welcome to DTMobile!”);

echo GREETING;

變數定義:變數名=$+標示符,如定義變數a:

?php

$a = 1;

echo $a;

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/206196.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-07 17:49
下一篇 2024-12-07 17:50

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變數時顯示的指定變數類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • Python定義函數判斷奇偶數

    本文將從多個方面詳細闡述Python定義函數判斷奇偶數的方法,並提供完整的代碼示例。 一、初步了解Python函數 在介紹Python如何定義函數判斷奇偶數之前,我們先來了解一下P…

    編程 2025-04-29
  • Python符號定義和使用方法

    本文將從多個方面介紹Python符號的定義和使用方法,涉及注釋、變數、運算符、條件語句和循環等多個方面。 一、注釋 1、單行注釋 # 這是一條單行注釋 2、多行注釋 “”” 這是一…

    編程 2025-04-29
  • Python中的隊列定義

    本篇文章旨在深入闡述Python中隊列的定義及其應用,包括隊列的定義、隊列的類型、隊列的操作以及隊列的應用。同時,我們也會為您提供Python代碼示例。 一、隊列的定義 隊列是一種…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • Python中自定義函數必須有return語句

    自定義函數是Python中最常見、最基本也是最重要的語句之一。在Python中,自定義函數必須有明確的返回值,即必須要有return語句。本篇文章將從以下幾個方面對此進行詳細闡述。…

    編程 2025-04-29
  • Python編程技巧:如何定義一個函數n!,並計算5!

    在這篇文章中,我們將研究如何使用Python編程語言定義一個能夠計算階乘的函數,並且演示如何使用該函數計算5!。 一、階乘函數的定義 在Python中,我們可以使用一個簡單的遞歸函…

    編程 2025-04-29
  • Python定義兩個列表的多面探索

    Python是一種強大的編程語言,開放源代碼,易於學習和使用。通過Python語言,我們可以定義各種數據類型,如列表(list)。在Python中,列表(list)在處理數據方面起…

    編程 2025-04-29
  • Python定義變數

    Python是一門高級編程語言,變數是Python編程中非常重要的一個概念。Python的變數定義方式非常簡單,可以在程序中隨時定義一個變數來存儲數據,這方便了整個程序的邏輯編寫,…

    編程 2025-04-28

發表回復

登錄後才能評論