php学习笔记 [预定义数组(超全局数组)]

php学习笔记 预定义数组(超全局数组),需要的朋友可以参考下。

  1. /* 预定义数组:
  2. * 自动全局变量---超全局数组
  3. *
  4. * 1.包含了来自WEB服务器,客户端,运行环境和用户输入的数据
  5. * 2.这些数组比较特别
  6. * 3.全局范围内自动生效,都可以直接使用这些数组
  7. * 4.用户不能自定义这些数组,但这些数组的操作方式和自己定义的数组操作的方式一样
  8. * 5.在函数中直接可以使用这些数组
  9. *
  10. * $_GET //经由URL请求提交至脚本的变量
  11. * $_POST //经由HTTP POST 方法提交到脚本的变量
  12. * $_REQUEST //经由GET , POST和COOKIE机制提交 到脚本的变量
  13. * $_FILES //经由http post方法文件上传而提交至脚本的变量
  14. * $_COOKIE
  15. * $_SESSION
  16. * $_ENV //执行环境提交至脚本的变量
  17. * $_SERVER //变量由WEB服务器设定的,或直接和当前脚本的执行环境相关联
  18. * $GLOBALS //只要是当前脚本有效的变量都在这里,数组的键名为全局脚本的名称
  19. *
  20. *
  21. */
  22. //超全局数组在函数内部可以直接调用
  23. $arr=array(10,20);//一般数组
  24. $_GET=array(50,90);//超全局数组
  25. function demo(){
  26. global $arr;//调用全局变量要先包含
  27. print_r($arr);
  28. print_r($_GET);//直接调用超全局数组不用包含
  29. }
  30. ?>
  31. //直接把传的值当变量用,当php.ini配置文件中register_global=on时有用。
  32. echo $username."

    ";

  33. echo $email."

    ";

  34. echo $page."

    ";

  35. //最稳定的取值方法
  36. echo $_GET["username"]."

    ";

  37. echo $_GET["email"]."

    ";

  38. echo $_GET["page"]."

    ";

  39. ?>
  40. "demo.php?username=zhangsan&email=aaa@bbb.com&page=45">this is a $_GET test >
  41. "demo.php" method="post"> >
    action=
  42. username:
    "text" name="uname" /> >
    action= type=
  43. password:
    "password" name="pass" /> >
    action= type= type=
  44. "submit" value="login" /> >
    action= type= type= type=
  45. print_r($_GET);//不能接收到
  46. print_r($_POST);//这样才能接收到
  47. ?>
  48. //$_ENV的使用
  49. echo'
    
    ';   
            
    • print_r($_ENV);
      • echo'
      • ';
      • //显示当前环境
      • // 也可以单个遍历
      • ?>
      • //利用$GLOBALS超全局数组在函数内部调用全局变量
      • $a=100;
      • $b=200;
      • $c=300;
      • function demo()
      • {
      • //直接调用全局变量
      • echo $GLOBALS["a"]."

        ";

      • echo $GLOABLS["b"]."

        ";

      • echo $GLOABLS["c"]."

        ";

      • }
      • ?>