線上書籍

Home

PHP入門講義

變數:就是用來暫時存個資料用的東西啦!

變數來源:自訂變數、外部變數(來自表單或session、Cookie、環境變數)

一、自訂變數
  1. $變數名稱="變數值";
  2. 例:$name="tad";
  3. 名稱盡量有意義。
  4. 變數名稱有區分大小寫,開頭不能用數字
  5. php支援以下的資料形態:integer(整數)、double(浮點數)、string(字串)、array(陣列)、object(物件)。 $a=123; //$a → integer整數 $a=12.3; //$a → double浮點數 $a="123"; //$a → string字串 $a=array(1,2,3); //$a → array陣列
  6. PHP的變數無須宣告其型態,資料形態也會視情況自動做轉換,如下例 $a、$b 都是字串,$c 卻是整數形態。 $a = "2年級"; $b = "3年級" $c = $a + $b;
二、外部變數:
  1. $_GET['變數']:用get方法傳來的變數,常見於連結(常用)
  2. $_POST['變數']:用post方法傳來的變數,常用於表單(常用)
  3. $_REQUEST['變數']:取得來自get、post、cookie的變數(偶爾用到)
  4. $_SESSION['變數']:來自session的變數,session存於主機端(偶爾用到)
  5. $_COOKIE['變數']:來自cookie的變數,cookie存於客戶端(不常用)
  6. $_FILES['變數']:上傳檔案的變數,是一個陣列(僅檔案上傳才會用到)
  7. $_SERVER['變數']:系統變數,可用phpinfo()觀看(偶爾用到)
  8. $_ENV['變數']:環境變數,可用phpinfo()觀看(幾乎沒人在用)
三、來自表單
  1. 表單預設傳遞方式為GET(method="get"),收到之變數即為 $_GET['名稱']
  2. 若用method="post"來指定傳遞方式為post,收到之變數為 $_POST['名稱']
  3. GET的缺點是傳遞資料的量有上限,看瀏覽器和伺服器設定,一般是2kb - 8kb(IE 和 Safari 是 2KB,Opera 為 4KB,Firefox 為 8KB),但優點是可以將傳遞的參數記錄下來(可能也是缺點),要做成書籤、分頁、或分享給別人都比較容易。
  4. POST的優點是容量無上限(其實有,但是看伺服器的設定),缺點就是參數看不見,無法將POST的傳遞結果分享給別人。
  5. 一般來說,j若用於搜尋,建議用GET,其餘用POST。這樣比較容易分。
四、環境變數
  1. 變數除了自己設以外,還能夠利用現成的環境變數。
  2. 用phpinfo()即可看出有哪些還變數可以用,如:

    本頁名稱:$_SERVER['PHP_SELF']
    根目錄位置:$_SERVER['DOCUMENT_ROOT']
    主機位置:$_SERVER['HTTP_HOST']
    您的瀏覽器版本:$_SERVER['HTTP_USER_AGENT']
    使用者的IP位置:$_SERVER['REMOTE_ADDR']
    主機的IP位置:$_SERVER['SERVER_ADDR']
    您用的網站伺服器是:$_SERVER['SERVER_SOFTWARE']

五、 PHP變數範圍
  1. 變數只存活於當頁。
  2. 變數要送到另一頁使用,需傳遞過去(post、get、cookie、session)
  3. 變數不能直接拿到函數或類別中使用(除非有用global宣告)。
  4. 同樣名稱的變數,以後面定義的值為準。(相同的變數,後面的值會蓋掉前面的值)