PHP基础-PHP中预定义的超全局数组

Posted 爆烈鼓手

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP基础-PHP中预定义的超全局数组相关的知识,希望对你有一定的参考价值。

预定义数组:
 自动全局变量---超全局数组

  1. 包含了来自WEB服务器,客户端,运行环境和用户输入的数据
  2. 这些数组比较特别
  3. 全局范围内自动生效,都可以直接使用这些数组
  4. 用户不能自定义这些数组, 但这些数据操作方式又和我们自定义的数组操作方式一样
  5. 在函数中直接可以使用这些数组

  $_GET //经由URL请求提交至脚本的变量,表单默认提交方式和链接提交方式

  $_POST //经由HTTP POST 方法提交到脚本的变量
  $_REQUEST //经由GET, POST和COOKIE机制提交到脚本的变量,因此该数组并不值得信任,尽量不去使用

<?php
    echo $_GET["username"]."<br>";
    echo $_GET["email"]."<br>";
    echo $_GET["page"]."<br>";
    $_GET["eeee"]="@@@@@@@@@@@@";
    print_r($_GET);
    print_r($_POST);
    print_r($_REQUEST);
?>

<form action="demo.php" method="post">
    username : <input type="text" name="uname"><br>
    password:  <input type="password" name="pass"><br>
    <input type="submit" value="login"> <br>
</form>


<a href="demo.php?username=zhangsan&[email protected]&page=45">this is a $_GET test</a>

 


  $_FILES //经由HTTP POST 文件上传而提交至脚本, 文件处理一章,文件上传
  $_COOKIE //
  $_SESSION //
  $_ENV //执行环境提交至脚本的变量

<?php
    echo ‘<pre>‘;
    print_r($_ENV);
    echo ‘</pre>‘;

    echo $_ENV["OS"]."<br>";

    foreach($_ENV as $key=>$value){
        echo $key."=".$value."<br>";
    }

  $_SERVER //变量由WEB服务器设定的,或 直接和当前脚本的执行环境相关联

<?php
    echo ‘<pre>‘;
    print_r($_SERVER);
    echo ‘</pre>‘;

    echo $_SERVER["DOCUMENT_ROOT"]."<br>";

    foreach($_SERVER as $key=>$value){
        echo $key."=".$value."<br>";
    } 

  $GLOBALS //只要是当前脚本有效的变量都在这里,数组键名为全局变量的名称

 















以上是关于PHP基础-PHP中预定义的超全局数组的主要内容,如果未能解决你的问题,请参考以下文章

PHP代码审计学习——常见的超全局变量

PHP 学习笔记:基础教程:语法,变量,函数,数组,超全局

php基础---预定义数组

PHP的global和$GLOBALS的区别

记录PHP的超全局变量$_SERVER

php的超全局变量