预定义超全局变量

php中预定义的全局变量有:

超全局变量:在全部作用域中始终可用的内置变量
GLOBALS;//线 _SERVER;
GET; _POST;
FILES;使 _COOKIE;
SESSION; _REQUEST;
$_ENV;(environment)
全局变量:在这个php文件中,任何函数都可以使用(对任何函数都是可见的)
代码测试

<?php
   /*header("Content-type:text-html;charset=utf-8");*/
     include ("includes/header.html");
      $a=23;
function test(){
    //使用了全局变量
    global $a;
    $a=45;
}
  test();
   echo $a;  //输出45;
?>

如果去掉global $a;这一行 就会输出23
超全局变量除了有全局变量的特点之外,可以无需声明,直接使用。是由系统生成和维护的。
代码演示:

 echo "<pre>";
   $_SERVER['zwj']="赵文娟";
   echo print_r($_SERVER);
   echo "</pre>";

但是这个zwj个变量只是在当前这个页面有效,其他页面是不会访问到$_SERVER[‘zwj’]这个量的值。
提供超全局数组的原因:为了让程序员更方便快捷的写出php程序

php共提供了9种超全局变量

超全局数组的数据的来龙去脉,使用这些超全局变量的时候必须都是得大写

1、_GET;

_GET:通过URL参数传递给当前脚本的变量的数组
1、客户机(浏览器)通过超链接将信息传递给服务器
2、客户机(浏览器)通过表单传送给服务器(但一般来说推介post提交)
实际使用过程:
test4.php

<?php
   include ('includes/header.html');
    echo "<a href='index.php?city=北京局&name=着嗯卷'>传送数据</a>";
?>

index.php

<?php
include ('includes/header.html');
     echo "<pre>";
      echo print_r($_GET);
   //指定取出某个数据
     echo "$_GET[city]";
     echo "$_GET[name]";
     echo "</pre>";
?>

浏览器访问test4.php
使用细节:
1、 判断是否是受到get请求 通过empty()来判断
2、绝对不要启用全局 也就是说 rigister_globals=off;

2、$_POST

$_post:通过HTTP POST方法传递给当前脚本的数组,表单提交的时候都是用post的提交方式
值得注意的是post提交复选框的时name必须为XXX[],和提交文本域的时候
test4.php

<?php
   include ('includes/header.html');
?>
<h1>用户注册</h1>
<form action="index.php" method="post">
    用户名:<input type="text" name="username"><br/>
    密码:<input type="password" name="pass"><br/>
    性别: <input type="radio" name="sex" value="woman">女<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="20" name="introduce" cols="20">

    </textarea><br/>
    请选择图片<input type="file" name="myphoto">
    <input type="submit" value="提交">
</form>
<?php
    include ('includes/footer.html')
?>

index.php

<?php
   include ('includes/header.html');
     echo "<pre>";
     echo print_r($_POST);
     $hobbis= $_POST["hobby"];
    foreach($hobbis as $key=>$val){
        echo $key.$val;
    }
echo $_POST['introduce'];
     echo "</pre>";
  include ('includes/footer.html');
?>

浏览器访问test4.php

$_REQUEST

REQUEST GET/ POST/ COOKIE,$_REQUEST是一个包含内容更多的变量,所以使用这个变量会比较危险,比较不可信,不建议大家经常使用。但是不确定是get还是post可以使用if—-else的方式来通过post get方式来取得传过来的值

$_SERVER

这里里面的信息主要包括:
1、客户端浏览器信息
2、服务器端本身的信息
显示访问服务器的ip地址
SERVER[REMOTEADDR]apachephp _SERVER[‘SERVER_SOFTWARE’];

$ENV 环境

当我们希望获取服务器端的环境信息时,可以使用$_ENV,该全局数组可以获取环境变量,

$GLOBAL

包含所有的信息在这个全局变量,每一个全局变量都会被$GLOBAL管理起来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值