:::

3-1 變數

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

變數來源:自訂變數、外部變數(來自表單或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. 同樣名稱的變數,以後面定義的值為準。(相同的變數,後面的值會蓋掉前面的值)

:::

搜尋

QR Code 區塊

https%3A%2F%2Fwww.tad0616.net%2Fmodules%2Ftad_book3%2Fpage.php%3Ftbsn%3D19%26tbdsn%3D467

書籍目錄

展開 | 闔起

線上使用者

38人線上 (11人在瀏覽線上書籍)

會員: 0

訪客: 38

更多…