天天看點

PHP可變變量,預定義變量,綜述,$_GET數組

可變變量

    所謂可變變量,就是一個變量的名,又是一個變量。

    可變變量的文法是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'];  //該鍵名必須跟送出的時候的名字完全一緻且區分大小寫

?>

繼續閱讀