PHP教學系列(三)-變數和常數

有學過C語言或是VB.net等類似的程式語言,就會知道變數的使用是相當重要的。但是,在一般的程式語言中,使用變數通常需要宣告它的資料型別和預設值。但是PHP卻不需要,只需要定義變數名稱,PHP便會依照變數的值自動判別資料型別。

變數的定義和規則:

定義:
變數的功能是用來儲存數字、字串、陣列或函式等資料,方便在程式中多次存取。
命名規則:
在PHP中變數的命名以[$]做為開頭,例如:

$Var_num = 8 ;

命名規則:
1.一個正確的變數命名開頭的第一個字必須為英文字母或是[_]下劃線符號 (不得使用數字或中文)

2.第一個字元後,可以接受任意字元 ( _ (下劃線)、 英文字母、數字、中文)

例如:
正確格式:

$phpVar

$phpVar1

$php_var

$_phpVar

錯誤格式:

$變數1   //不可以中文開頭

$9phpVar //不可以數字開頭

 

註:雖然PHP可以使用中文變數,但在命名變數時,還是盡量避免使用中文。

全局變數、區域變數、靜態變數

一般來說,定義的變數在整個程式中都能讀取稱為”全局變數”,而在函式(function)內的變數,只能在函式區域內使用,因此稱為”區域變數”

例如:

<?php

$a=14; //全局變數

function varEx() {

echo $a; //區域變數

}

varEx();

?>

在上述範例,varEx()並不會輸出任何字,因為$a並沒有定義,在函式內的區域變數$a與全局的變數$a是互相不侵犯的獨立變數。

但若要將函式內的變數,變成全局變數可在變數的前面加入 global

例如:

<?php

$a=10;

$b=20;

function varEx() {

global $a,$b; //全域變數

$a=$a+$b;

echo $a;

}

varEX();

?>

實際範例:example-3-1-1.php


全局變數:

1.在 function 外宣告。

2.在網頁關閉時,全域變數被銷毀。

3.若要在 function 中使用全域變數,則需使用關鍵字 global

區域變數:

1.在宣告的 function 中使用。

2.不同的函式(function)可命名相同的變數名稱,彼此互不影響。

3.在函式執行完後,便會被銷毀。

靜態變數:

如同上面所說,區域變數在函式(function)執行完畢後,便會銷毀,但有時我們仍需要用到該區域變數的值,這時,我們便可以在區域變數的前面加入static 這經常用在迴圈應用。

範例:

<?php

function numCount()

{
static $num = 1; //在函式區域變數添加static
$num ++;  //$num=$num+1
return $num;
}

for ($i = 0; $i < 10; $i ++) {
echo numCount(), “<br>”; //在函式外也能使用$num變數值
}
?>

 

實際範例:example-3-1-2.php


PHP的內建變數

$_SERVER : 儲存跟伺服器有關的資訊陣列變數,例如網頁虛擬路徑、伺服器名稱等。
$_ENV : 以陣列方式儲存環境相關變數
$_GET : get 傳送的資訊陣列變數。
$_POST : 表單 post 傳送的資訊陣列變數。
$_FILES : 存放表單檔案處理方面的陣列變數。
$_COOKIE : 存放 cookie 的陣列變數。
$_SESSION : 存放 session 的陣列變數。
$_REQUEST : 接收 $_GET 、 $_POST 、 $_COOKIE 等變數

參考資料:http://www.php.net/manual/en/reserved.variables.php


變數使用範例:

 

<?php

$Var_ex1=14; //數字型別變數

$Var_ex2=14+8; //數字型別變數 (會回傳22)

$Var_ex3=”aidec.tw”; //字串型別變數

$Var_ex4= True //布林型別變數

?>


常數將在下一頁介紹

感謝您的閱讀,請用力地分享讓大家知道吧~~

1 2

Aidec Li
學我所見,寫我所學。凡事略懂略懂~~
更多 Aidec Li 的文章...

很抱歉,此文章關閉留言