| |初探|語法|資料型態|外部變數|環境變數|運算元|流程控制|引用檔案|函數|物件| | |
|---|---|
| PHP 簡介 |
|
|
變數與常數 | |
| 變數的型態不用預先宣告,其型態視其所指定的值而定。使用變數須在變數名稱前加上「$」符號。變數命名有大小寫之區分,可以使用英文字母、數字、底線、ASCII 127∼255 的字元,但開頭必須是英文字母或底線。 | |
內定變數 | |
| 在 PHP 執行時,有部份預設的變數可用,您可以執行 phpinfo( ) 以查看這些變數。例如: | |
| SERVER_NAME:chensh.loxa.edu.tw | |
| HTTP_USER_AGENT:CCBot/1.0 (+http://www.commoncrawl.org/bot.html) | |
| SCRIPT_FILENAME:/home/chensh/php/A_4.php | |
| 如果 php.ini 中 register_globals 被設定為 on 的話,上述的變數直接在前頭加上 $ 符號即可使用,例如:$SERVER_NAME。 | |
| 倘若 register_globals 被設定為 off(預設值)的話,上述變數的讀取方法就不一樣了,它們被當作是 $_SERVER 陣列的一個元素,請用 $_SERVER['變數名稱'] 的方式來讀取它,例如:$_SERVER['SERVER_NAME']。 | |
變數影響範圍 | |
| 變數的影響範圍通常是 global,自啟用起,至該程式結束均有效;但在自定的函數中,變數的影響範圍是 local,只侷限在函數內部。例: | |
|
<? $a = 1; $b = 2; function sum_test( ) { return $a + $b; } echo sum_test( ); ?> | |
| 執行結果為 0,因為 $a 與 $b 的影響範圍無法達到 sum_test( ) 內部。若希望在自定函數內引用外部的變數,則使用關鍵字 global 宣告,或是使用 global 變數陣列 $GLOBALS[ ]。 | |
|
<? $a = 1; $b = 2; function sum_test_1( ) { global $a, $b; return $a + $b; } function sum_test_2( ) { return $GLOBALS["a"] + $GLOBALS["b"]; } echo sum_test_1( ); echo sum_test_2( ); ?> | |
| sum_test_1( ) 與 sum_test_2( ) 的執行結果均為 3。 | |
以變數為名的變數(Variable Variables) | |
| 在 PHP 中,變數的名稱也可以是變數,例如: | |
|
<? $a = "hello"; $$a = "world"; echo $a . " " . $$a; // 輸出結果:hello world echo $a . " " . ${$a}; // 輸出結果:hello world echo $a . " " . $hello; // 輸出結果:hello world ?> | |
| 在處理大量變數,且名稱均相似時,以變數為名的變數就可以使得程式更為精簡、更具彈性。以下兩段程式的功能是相同的,均可將 $a1, $a2, ...., $a10 的值秀出來,但第二段程式使用了以變數為名的變數: | |
|
<? $a1 = 2; $a2 = 4; $a3 = 6; $a4 = 8; $a5 = 10; $a6 = 12; $a7 = 14; $a8 = 16; $a9 = 18; $a10 = 20; 第一種做法: echo $a1; echo $a2; echo $a3; echo $a4; echo $a5; echo $a6; echo $a7; echo $a8; echo $a9; echo $a10; 第二種做法: for ( $i=1; $i<=10; $i++ ) echo ${"a" . $i}; ?> | |
常數 | |
| 在 PHP 中,常數的名稱一樣有大小之別,但是前頭不必加上「$」字元,因此,若將常數置於字串裡頭的話,將不會被系統所辨識出來。您也可以使用 define( ) 函數來自定常數。 | |
| __FILE__:/home/chensh/php/A_4.php | |
| PHP_OS:FreeBSD | |
| PHP_VERSION:4.3.9 | |
|
| |
| |初探|語法|資料型態|外部變數|環境變數|運算元|流程控制|引用檔案|函數|物件| | |


內定變數