可變變量
所謂可變變量,就是一個變量的名,又是一個變量。
可變變量的文法是php很特殊的文法--其它語言中少見。
$v1 = "abc"; //這是一個字元串變量,其内容是字元串“abc"
$abc = 10; //這是一個普通變量,其内容是數字10
echo $$v1; //此時,就是所謂的”可變變量“
怎麼了解可變變量
1,凡是$符号出現,就會有可能了解為是一個變量
2,這裡第一個”$“出現了,則php就視圖将其解釋為一個變量變量名為#v1
3,我們又知道,$v1的值是”abc“
4,那麼,第一個”$“符号後面的變量名,自然就是數字10
5,即echo試圖輸出的是變量$abc,自然就是數字10
預定義變量
綜述:
1:預定義變量又叫超全局變量,包括:$_GET, $_POST, $_SERVER, $_REQUEST, $GLOBALS, $_COOKIE, $_SESSION....(大約10個)
2:作用域問題
php中,自定義的變量的作用域,分為兩種:全局作用域(函數外),局部作用域(函數内)。
但是預定義變量的作用域稱為”超全局作用域“:全局作用域+局部作用域的總和(函數内外都可用)。
3:資料類型問題
超全局變量都是數組!
$_GET變量(數組):
get這個詞,常常出現在這裡:<form action="abc.php" method="get">.....</form>
這叫做“表單以get方式送出資料”
則$_GET這個預定義數組變量,就是指以這種方式送出的所有資料的集合(數組)。
對應來說,也可以以post方式送出資料。
實際上,在網頁中,以get方式送出資料有多種形式:
形式一:
<form action="abc.php" method="get">
project 1: <input type="text name="uName" />
project 2: <input type="password" name="uPswd" />
<input type="submit" value="submit" />
</form>
其作用是:使用者填寫表單資料,并送出後,會将資料發送(送出)給頁面abc.php,其實也可以了解為撕開該網頁(abc.php),還可以了解為“請求該網頁”(abc.php)。
形式二:
<a href="abc.php?uName=test1&uPswd=123" >Here is text...</a>
其作用是:使用者點選連結後,會将資料發送(送出)給頁面abc.php,其實也可以了解為撕開該網頁(abc.php),還可以了解為“請求該網頁”(abc.php)。這種請求也是get請求。
形式三:
<script>
location.href=abc.php?uName=test1&uPswd=123; //利用location對象的屬性href
</script>
其作用是:當該行語句執行的時候(通常是在函數中),會将資料發送(送出)給頁面abc.php,其實也可以了解為撕開該網頁(abc.php),還可以了解為“請求該網頁”(abc.php)。這種請求也是get請求。
形式四:
script>
location.assign("abc.php?uName=test1&uPswd=123"); //利用location對象的方法assign();
不管哪種形式的get送出過來的資料,擷取資料是一樣的,
在abc.php網頁中
<?php
$v1 = $_GET['uName']; //單引号也可以用雙引号,本質是一個字元串,其實是數組的鍵名(下标)
$v2 = $_GET['uPswd']; //該鍵名必須跟送出的時候的名字完全一緻且區分大小寫
?>