首頁  >  文章  >  後端開發  >  PHP中的常數

PHP中的常數

WBOY
WBOY原創
2016-07-30 13:30:061059瀏覽

概述

常數在腳本執行期間值不能改變

常數一旦定義就不能被重新定義或取消定義

常數預設為大小寫敏感。傳統上常數標識符總是大寫的

用 define() 函數來定義常數,在 PHP 5.3.0 以後,可以使用 const 關鍵字在類別定義之外定義常數。
不能在函數內,迴圈內以及 if 語句之內用 const 來定義常數。

常數只能包含標量資料(boolean,integer,float 和 string)。可以定義 resource 常數,但應盡量避免,因為會造成不可預測的結果。

與變數不同,無法在常數前面加上$ 符號

<code><?php
define("$a", "something");
echo $a; // 无效
?>
</code>

常數的作用域

常數可以不用理會變數的作用域而在任何地方定義和存取

<code><?php
define("A", "something");
function fn() {
    echo A;
}
fn(); // something
?>

<?php
define("A", "something");
echo A; // something
?>
</code>

<code><?php
echo A; // A
define("A", "something");
?>
</code>

rrreee

魔術常數

所謂的魔術常數,其實不是常數

共有八個魔術常數,它們的值隨著它們在程式碼中的位置改變而改變__LINE__檔案中的目前行號。 __FILE__檔案的完整路徑和檔案名稱。如果用在被包含檔案中,則傳回被包含的檔案名稱。自 PHP 4.0.2 起,__FILE__ 總是包含一個絕對路徑(如果是符號連接,則是解析後的絕對路徑),而在此之前的版本有時會包含一個相對路徑。 __DIR__檔案所在的目錄。如果用在被包含檔案中,則傳回被包含的檔案所在的目錄。它等價於 dirname(__FILE__)。除非是根目錄,否則目錄中名不包括末尾的斜杠。 (PHP 5.3.0新增)__FUNCTION__函數名稱(PHP 4.3.0 新加)。自 PHP 5 起本常數傳回該函數被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。 __CLASS__類的名稱(PHP 4.3.0 新加)。自 PHP 5 起本常數傳回該類別被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。類別名稱包括其被宣告的作用區域(例如 FooBar)。注意自 PHP 5.4 起 __CLASS__ 對 trait 也起作用。當用在 trait 方法時,__CLASS__ 是呼叫 trait 方法的類別的名字。 __TRAIT__Trait 的名字(PHP 5.4.0 新加)。自 PHP 5.4 起此常數傳回 trait 被定義時的名字(區分大小寫)。 Trait 名包括其被聲明的作用區域(例如 FooBar)。 __METHOD__類別的方法名稱(PHP 5.0.0 新加)。傳回該方法被定義時的名字(區分大小寫)。 __NAMESPACE__目前命名空間的名稱(區分大小寫)。此常數是在編譯時定義的(PHP 5.3.0 新增)。 版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。

以上就介紹了PHP的常數,包括了方面的內容,希望對PHP教程有興趣的朋友有幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:php memcache單例下一篇:php memcache單例