### 什么是超全局變量
下面先了解什么是全局變量,看下面的例子“
?
~~~
<?php
//全局標量,因為該變量作用于在整個文件中,都是可見的
$a=23;
function test(){
//但是在函數中并不能使用到全局$a,如果想使用需要加下面的一句
// global $a;// A
$a=45;
}
test();
echo $a;
?>
~~~
當A標識段落被注釋時,輸出 23;
當沒有被注釋時,輸出45;
那么什么是超全局變量
超全局變量除了有全局變量的特性外,還有可以無需聲明直接使用,看下面的例子
~~~
<?php
//超全局變量
$_SERVER['jsh'] = "阿輝";
echo "<pre>";
print_r($_SERVER);
echo "</pre>"
?>
~~~
輸出是會輸出 [jsh]="阿輝”,也會被打印出來,但是僅限于這個文件中。如何換個文件將不會被打印
總結如下:
1、 PHP中許多預定義變量都是超全局的,這意味著他們在一個腳本的全部作用域都都可以用,在函數或方法中無需執行 global $variable;來訪問他們 。
2、 PHP設計者提供這些超全局數組的目的是為了讓PHP程序員可以更方便的編寫程序
### PHP提供了九種:
1、$_GET
通過URL參數傳遞給當前腳本的變量的數組
?? 基本用法:
1、? 客戶機(瀏覽器)通過超鏈接傳送信息給服務器(默認使用get方式)
2、客戶機(瀏覽器)通過扁擔傳送信息給服務器(但是我們推薦表單用Post提交?)
### 實現流程如下:

### 具體實例:
get.php
~~~
<?php
echo "<a href='a.php?city=beijing&name=jsh'>傳送數據</a>";
?>
~~~
a.php
~~~
<?php
echo "<pre>";
print_r($_GET);
echo "</pre>";
//我們可以使用下面方法分別獲得他們的數據
if(empty($_GET['name'])){
echo "沒有收到";
}else{
echo $_GET['name']."<br/>";
}
if(empty($_GET['city'])){
echo "沒有收到";
}else{
echo $_GET['city']."<br/>";
}
?>
~~~
測試結果:
~~~
Array
(
[city] => beijing
[name] => jsh
)
jsh
beijing
~~~
2、$_POST
通過http:post方式提交的數據,會被封裝到$_POST超全局數據中
?? 基本用法:
1客戶機(瀏覽器)通過表單傳送消息給服務器并且需要書用POST方式,有些數據的提交必須使用Post,比如上傳文件。。看下面的示例:
post.html
~~~
<html>
<head>
<!--<meta http-equiv="content-type" content="text/html;charset=utf-8"/>-->
</head>
<h1>用戶注冊</h1>
<form action="./post.php" method="post">
用戶名:<input type="text" name="username"/><br/>
密碼:<input type="text" name="passwd"/><br/>
性別:<input type="radio" name="sex" value="women"/>女
<input type="radio" name="sex" value="man"/>男<br/>
你喜歡什么:<input type="checkbox" name="hobby[]" value="唱歌">唱歌
<input type="checkbox" name="hobby[]" value="游泳">游泳
<input type="checkbox" name="hobby[]" value="騎馬">騎馬
<input type="checkbox" name="hobby[]" value="跳舞">跳舞<br/>
個人介紹:<textarea rows="5" name="intro" cols="20"></textarea><br/>
上傳圖片:<input type="file" name="1.swd"/> <br/>
<input type="submit" value="提交"/>
</form>
</html>
~~~
post.php
~~~
<?php
//超全局變量Post使用
echo "<pre>";
//print_r($_POST);
$name=$_POST['username'];
$pwd=$_POST['passwd'];
$sax=$_POST['sex'];
$hobby=$_POST['hobby'];
echo "$name $pwd $sax <br/>";
print_r($hobby);
$text=$_POST['intro'];
echo $text;
?>
~~~

### ?post 和get 區別:
1、 安全性 post >get
2、數據長度要求[瀏覽器控制] post >get
3、保存到收藏夾 ?get方便
3、$_REQUST
定義$_REQUSR 中可以包含 GETPOST COOKIE數組的信息
也就是說既可以接收getpost 請求和Cookie。
~~~
<?php
//REQUEST使用
echo "<pre>";
print_r($_REQUEST);
echo "</pre>";
//如何去除某個值,和get post方法一樣
//$_REQUEST 既可以接受Get 請求數據,也可以接受Post Cookie
//所以這個變量,比較不可信,不建議使用
echo $_REQUEST['aa'];
//如果不確定get/post
if($_SERVER['http_method'] == "post'){
echo $_POST['aa'];
}else if ($_SERVER['http_method'] == "get'){
echo $_GET['aa'];
}
?>
~~~
4、$_SERVER?
前面的章節已經講過,這里就不再多說了!具體看?[http://blog.csdn.net/jsh13417/article/details/8975828](http://blog.csdn.net/jsh13417/article/details/8975828)。
5 $_ENV
默認已經禁用了,這里也不再講解了。
6 ?其他
~~~
$_FILE 與文件上傳有關。
$_COOKIE 與Cookie相關
~~~
$SESSION 與Session 相關,這幾個超全局數據功能強大,同時也比較復雜,暫時也不介紹!
- 前言
- HTML(第一天)
- HTML(第二天)
- DIV+CSS(第一天)
- DIV+CSS(第二天)
- DIV+CSS(第三天)
- DIV+CSS(第四天)
- PHP開發環境配置說明
- PHP基礎數據類型及運算符介紹
- 走進PHP函數
- 走進位運算
- 走進數組及相關數組函數
- 面向對象的編程(類與對象)
- 面向對象的編程(類成員方法用法)
- 構造方法,析構方法
- static,global用法
- 靜態方法
- 面向對象的編程方法
- 接口方法
- 接口VS繼承、final、const
- 錯誤及異常處理機制、錯誤日志
- HTTP協議深度剖析
- 文件下載
- PHP數據庫編程
- 數據庫編程(2)
- 超全局變量
- Zend studio 開發環境入門
- 雇員管理系統(1)
- 雇員管理系統(2)
- 會話技術(cookie session)
- 會話技術 session場景使用介紹!
- PHP.in中session和cookie的配置說明
- PHP文件編程
- 報表及繪圖技術
- 報表及繪圖技術(jpgraph庫使用,Linux安裝及配置說明)
- XML基本語法及DTD介紹
- XML編程(Dom技術)
- XML編程(Xpath技術,simpleXml技術)基礎入門
- 網上支付平臺PHP版本
- javascript基礎入門