• 参考菜鸟教程,并经过自己亲手实验,记录PHP的几个超级全局变量

  • 所谓超级全局变量 ,你可以理解为在一个脚本里面的全部代码里面都可以使用的变量。

  • $GLOBALS

    $GLOBALS  是 php 的一个超级全局变量组,在PHP脚本中的全部作用域都可以访问
$GLOBALS 是一个包含了全部变量的全局组合数组,变量的名字就是 $GLOBAL 的键值。
你可以理解为 使用了 $GLOBALS 就可以使用这个脚本里面的任何一个任何地方的变量。
例子如下
   <!doctype html>
<html> <body> <?php
$a = 55;
$b = 66; function add_test()
{
$GLOBALS['c'] = $GLOBALS['a'] + $GLOBALS['b'];
} add_test();
echo $c; ?> </body> </html>
![](http://images2017.cnblogs.com/blog/991711/201711/991711-20171101150641716-1368246906.png)
  • $_SERVER 超级全局变量

    $_SERVER 是一个包含比如 头信息, 脚本路径,名称各种属性的超级全局变量,这个数组由 web 服务器创建
$_SERVER 有一些常用的键值,如下: $_SERVER['PHP_SELF'] 表示的是当前执行执行脚本的名字, 比如说当前是 index.php , 那么这个值就是 index.php
$_SERVER['GATEWAY_INTERFACE'] 表示服务器所使用的 CGI 规范的版本
$_SERVER['SERVER_ADDR'] 当前运行脚本所在的服务器的 IP 地址。
$_SERVER['SERVER_NAME'] 当前运行脚本所在的服务器的主机名
$_SERVER['SERVER_SOFTWARE'] 服务器标识字符串,在响应请求时的头信息中给出,如Apache/2.2.24
$_SERVER['SERVER_PROTOCOL'] 请示页面时通信协议的名称和版本, 如: HTTP/1.0
$_SERVER['REQUEST_METHOD'] 访问页面使用的请求方法, 例如:"GET" "HEAD", "POST" , "PUT"
$_SERVER['REQUEST_TIME'] 请求开始时的时间戳, 如 1377687499
$_SERVER['QUERY_STRING'] query string (查询字符串), 如果有的话,通过他进行页面访问
$_SERVER['HTTP_ACCEPT'] 当前请求头中 Accept 项中的内容, 如果存在的话。
$_SERVER['HTTP_ACCEPT_CHARSET'] 当前请求头中 Accept-Charset 项中的内容
$_SERVER['HTTP_HOST'] 当前请求中 Host 项的内容,如果存在的话。
$_SERVER['REMOTE_ADDR'] 浏览当前页面的用户的 IP 地址。
$_SERVER['REMOTE_HOST'] 浏览当前页面的用户的主机名。DNS 反向解析不依赖于用户的 REMOTE_ADDR。
$_SERVER['REMOTE_PORT'] 用户机器上连接到 Web 服务器所使用的端口号。
$_SERVER['SCRIPT_FILENAME'] 当前执行脚本的绝对路径。
$_SERVER['SCRIPT_NAME'] 包含当前脚本的路径。这在页面需要指向自己时非常有用。__FILE__ 常量包含当前脚本(例如包含文件)的完整路径和文件名。 例子如下:
        <!doctype html>
<html> <body> <?php echo $_SERVER['PHP_SELF'];
echo "<br>";
echo $_SERVER['GATEWAY_INTERFACE'];
echo "<br>";
echo $_SERVER['SERVER_ADDR'];
echo "<br>";
echo $_SERVER['SERVER_NAME'];
echo "<br>";
echo $_SERVER['SERVER_SOFTWARE'];
echo "<br>";
echo $_SERVER['SERVER_PROTOCOL'];
echo "<br>";
echo $_SERVER['REQUEST_METHOD'];
echo "<br>";
echo $_SERVER['REQUEST_TIME'];
echo "<br>";
echo $_SERVER['REMOTE_ADDR'];
echo "<br>";
echo $_SERVER['REMOTE_HOST'];
echo "<br>";
echo $_SERVER['REMOTE_PORT'];
echo "<br>";
echo $_SERVER['SCRIPT_NAME'];
echo "<br>"; ?> </body> </html>
    例子
![](http://images2017.cnblogs.com/blog/991711/201711/991711-20171101162557341-1524850394.png)
  • $_REQUEST

    $_REQUEST  是用于收集  HTML 表单提交的数据。
例子如下:
        <!doctype html>
<html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?> ">
name : <input type="text" name="example">
<input type="submit">
</form> <?php
$name = $_REQUEST['example'];
echo $name;
?> </body> </html>
    效果:
![](http://images2017.cnblogs.com/blog/991711/201711/991711-20171101164958420-1914807539.png)
  • $_POST 功能上基本和 $_REQUEST 基本一样

    例子如下:
    <!doctype html>
<html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
test : <input type="text" name="test1">
<input type="submit">
</form> <?php
$test1 = $_POST['test1'];
echo $test1
?> </body> </html>
    效果:
![](http://images2017.cnblogs.com/blog/991711/201711/991711-20171101170020248-1203073496.png)
  • $_GET 的用法和上面的有类似的地方,如下:

   <!doctype html>
<html> <body> <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="get">
name: <input type="text" name="fname">
age: <input type="text" name="age">
<input type="submit" value="check">
</form> <?php
echo "name: ".$_GET['fname']."<br>";
echo "age : ".$_GET['age']."<br>";
?> </body> </html>
    效果:
![](http://images2017.cnblogs.com/blog/991711/201711/991711-20171101180355091-90099534.png)

PHP 之超级全局变量的更多相关文章

  1. 跟着百度学PHP[6]超级全局变量

    超级全局变量在PHP 4.1.0之后被启用, 是PHP系统中自带的变量,在一个脚本的全部作用域中都可用. 参考文献:http://www.runoob.com/php/php-superglobals ...

  2. PHP中变量,常量,超级全局变量小结

    //一般来说,变量在函数无法在函数体中无法访问,但是常量可以.//超级全局变量确实可以的,地址栏上的参数/*$GLOBALS   //变量注册的信息$_GET      //地址栏参数$_POST   ...

  3. PHP 超级全局变量

    超级全局变量在PHP 4.1.0之后被启用, 是PHP系统中自带的变量,在一个脚本的全部作用域中都可用. PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作 ...

  4. PHP中的超级全局变量

    PHP内置了一些超级全局变量,我们可以在脚本的任何地方使用和可见,下面记录一下这些全局变量的作用: 1.$_SERVER $_SERVER超级全局变量包含由web服务器创建的信息,它提供了服务器和客户 ...

  5. PHP超级全局变量总结

    silicon1985 的 重要的PHP超级全局变量总结 PHP有9个提前定义变量数组.分别总结例如以下: 1.$_SERVER $_SERVER超级全局变量包括由webserver创建的信息.它提供 ...

  6. PHP利用超级全局变量$_GET来接收表单数据。

    我们在linux上用 touch php_get.html php_get.php创建两个文件. php_get.html文件的代码如下: <!doctype html> <html ...

  7. PHP利用超级全局变量$_POST来接收表单数据。

    利用$_POST超级全局变量接收表单的数据,然后利用echo输出到页面. 下面是代码: <!doctype html> <html> <head> <titl ...

  8. PHP超级全局变量、魔术变量和魔术函数

    PHP超级全局变量(9个) $GLOBALS 储存全局作用域中的变量 $_SERVER 获取服务器相关信息 $_REQUEST 获取POST和GET请求的参数 $_POST 获取表单的POST请求参数 ...

  9. php之快速入门学习-12(超级全局变量)

    PHP 超级全局变量 超级全局变量在PHP 4.1.0之后被启用, 是PHP系统中自带的变量,在一个脚本的全部作用域中都可用. PHP 超级全局变量 PHP中预定义了几个超级全局变量(superglo ...

随机推荐

  1. spring注解 di 和 ioc 注解

    注解: 1.注解就是为了说明java中的某一个部分的作用(Type) 2.注解都可以用于哪个部门是@Target注解起的作用 3.注解可以标注在ElementType枚举类所指定的位置上 4. @Do ...

  2. Html5 Geolocation获取地理位置信息(转)

    Html5中提供了地理位置信息的API,通过浏览器来获取用户当前位置.基于此特性可以开发基于位置的服务应用.在获取地理位置信息前,首先浏览器都会向用户询问是否愿意共享其位置信息,待用户同意后才能使用. ...

  3. Java Web Project自定义错误页面,log4j记录日志。

    创建记录日志的文件LoggerHelper.java: package com.wyp.helper; import org.apache.log4j.Logger; public class Log ...

  4. 连表查询都用Left Join吧 以Windows服务方式运行.NET Core程序 HTTP和HTTPS的区别 ASP.NET SignalR介绍 asp.net—WebApi跨域 asp.net—自定义轻量级ORM C#之23中设计模式

    连表查询都用Left Join吧   最近看同事的代码,SQL连表查询的时候很多时候用的是Inner Join,而我觉得对我们的业务而言,99.9%都应该使用Left Join(还有0.1%我不知道在 ...

  5. python学习笔记011——检查变量类型type()

    >>> a = 1 >>> type(a) <class 'int'> >>> b = 1.0 >>> type(b ...

  6. Python 元组 tuple() 方法

    描述 Python 元组 tuple() 方法用于将可迭代对象(字符串.列表.元祖.字典)转换为元组. 语法 tuple() 方法语法: tuple(iterable) 参数 iterable -- ...

  7. Linux bash脚本及常用命令--不断更新中

    1.如何在向alias命令传递参数: 这种用法的话就需要使用函数来配合使用. 如要cd到指定目录,并且ls当前目录下的文件可以使用:  alias cdls='cdls(){ cd $1; ls; } ...

  8. php教程之php空白页的原因及解决方法

    php中出现空白页的原因及解决方法汇总. 很多程序员在进行php开发的时候都遇到过出现空白页的请,综合分析来说,在php编程中出现空白页面可能是由以下几个原因造成的: 1.逻辑错误逻辑错误是最难排除的 ...

  9. 【精】iOS 文件操作:沙盒(SandBox)、文件操作(FileManager)、程序包(NSBundle)

    1.沙盒机制介绍 iOS 中的沙盒机制(SandBox)是一种安全体系. 每一个 iOS 应用程序都有一个单独的文件系统(存储空间).并且仅仅能在相应的文件系统中进行操作,此区域被称为沙盒. 全部的非 ...

  10. 改变mysql数据库用户的权限

    mysql> grant all on *.* to test@'%';Query OK, 0 rows affected (0.00 sec) mysql> flush privileg ...