💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
### 什么是超全局变量 下面先了解什么是全局变量,看下面的例子“   ~~~ <?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提交 ) ### 实现流程如下: ![](https://box.kancloud.cn/2016-06-03_5750fd8fbbead.jpg) ### 具体实例: 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; ?> ~~~ ![](https://box.kancloud.cn/2016-06-03_5750fd8fd3434.jpg) ###  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 相关,这几个超全局数据功能强大,同时也比较复杂,暂时也不介绍!