天天看點

PHP手冊 – 變量和常量

php中變量的定義,就是就在某一個單詞前面加上“”。這是php的特色,∗∗我想到的一個好處就是和常量做區分。另外,linux的shell程式設計中,”。這是php的特色,∗∗我想到的一個好處就是和常量做區分。另外,linux的shell程式設計中,有取值的意思。**。指派方式也能展現php作為弱類型語言的特色。 傳值指派 + 引用指派,而引用指派,如<code>$p = &amp;$var</code>,加個位址符就可以了。

變量命名規則的正規表達式:<code>[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]</code>。

(1) PHP的變量名區分大小寫;(2) 變量名必須以美元符号$開始;(3) 變量名開頭可以以下劃線開始;(4) 變量名不能以數字字元開頭. 至于相容十六進制字元集,恩web程式設計中能用到嗎。

下面代碼中的$a在tmp.php中有效。

但在使用者自定義函數中,局部函數範圍被引進,任何用于函數内部的變量按預設情況控制在局部函數範圍内。如下面的腳本不會有輸出,這點與C語言不同。

說明了function,并不像c語言中隻是一個代碼塊,而是類似于子對象的概念

在PHP中全局變量在函數中使用必須聲明為global,如上面的代碼應寫成:

也可以使用GLOBAL數組,GLOBAL數組,GLOBAL是超全局變量,即在一個腳本中的全部作用域中都可用,而無需執行 <code>global $variable</code>。

變量範圍的另一個重要特性是靜态變量(static variable)。靜态變量僅在局部函數域中存在,但當程式執行離開此作用域時,其值并不丢失。

靜态變量複制時不能使用表達式。如 <code>static $int = 1+2;</code> 是錯誤的。

可變變量即一個變量的變量名可以動态設定和使用,通過多個美元符号實作。不過不适用于靜态變量。

這種功能和java中的類名,對象引用有點像。 如果是做底層程式設計,也許能用到。這是動态語言的特性。

也可使用花括号來給屬性名清晰定界,可用于動态解析。

常量是一個簡單值的辨別符(名字),在執行期間不改變。常量預設為大小寫,通常以大寫的辨別符來表示。

常量是通過 define() 來聲明,輸出時使用其辨別符(不用$)就行。

類中的常量要使用 const 來聲明。

和超全局變量一樣,常量的範圍是全局的。

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

用 get_defined_constants() 可以獲得所有已定義的常量清單。

常量在 heredoc 中無法解析。

PHP 向它運作的任何腳本提供了大量的預定義常量,有八個魔術常量它們的值随着它們在代碼中的位置改變而改變。例如<code>__LINE__</code> 的值就依賴于它在腳本中所處的行來決定。這些特殊的常量不區分大小寫。

八個魔術常量 <code>__LINE__, __FILE__ , __DIR__ , __FUNCTION__ , __CLASS__ , __TRAIT__ , __METHOD__ , __NAMESPACE__</code>。

<code>__FILE__</code>: 檔案的完整路徑和檔案名。如果用在被包含檔案中,則傳回被包含檔案的路徑和檔案名。

<code>__DIR__</code>: 檔案所在的目錄。如果用在被包括檔案中,則傳回被包括的檔案所在的目錄。它等價于 <code>dirname(__FILE__)</code>。目錄中名不包括末尾的斜杠。

本文轉自二郎三郎部落格園部落格,原文連結:http://www.cnblogs.com/haore147/p/4908322.html,如需轉載請自行聯系原作者