php预定义超全局数组和预定义常量

时间:2022-06-08
本文章向大家介绍php预定义超全局数组和预定义常量,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
  • 定义

超全局变量,是在全部作用域中始终可用的内置变量。

PHP中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。

在函数或方法中无需执行 global $variable 来访问它们。

使编写程序更方便快捷。

  1. 包含了web服务器、客户端、运行环境和用户输入的数据;
  2. 数组比较特别
  3. 全局范围都会生效,都可以直接去使用
  4. 用户无法定义这些数组,但是我们可以直接调用,追加数组元素和正常数组一样操作

$_GET:经由url请求提交到脚本的变量,变量等提交信息显示在地址栏,最大提交2kb数据

$_POST:经由http post请求将提交到脚本变量,变量信息不显示地址栏,默认提交2mb可以在php修改数据

$_REQUEST:经由GET,PSOT,COOKIE机制请求提交至脚本的变量,数组不值得信任,不建议去使用

$_FILES:经由http post 文件上传提交指本,文件处理详说,文件上传

$_COOKIE//

$_SESSION

$_SERVER:变量和当前web服务器设置有关,和当前脚本执行环境相关

$_ENV:执行环境提交到脚本的变量

$GLOBALS:当前脚本有效变量都在此,包括系统预定义和用户自定义变量


$_GET和$_POST提交在之前表单提交已经西说过,这里不再说明。

$_REQUEST:用于收集 HTML 表单提交的数据。

$GLOBALS:当前脚本有效变量,使用变量可以在脚本任意位置,包括函数内部可以直接使用,无需声明变量作用域

$a=2;$b=4;$c=6;//声明外部变量
function globals(){
    $GLOBALS['z']=$GLOBALS['a']+$GLOBALS['b']*$GLOBALS['c'];//使用globals超全局变量
    
}
globals();//调用函数
echo $z;//超全局,当然外部同样可以调用

$_ENV:用于获取服务器端环境信息

$_SERVER:其中主要包含了HTTP请求行和消息头的信息,还有服务器相关的一些信息。

<?PHP
//遍历出数组,也可以使用键名输出指定内容
foreach($_SERVER as $key=>$val){
    echo $key."=====>".$val."<BR>";
}
//单独调用键,调用相关信息输出
echo $_SERVER['SERVER_NAME'];//返回当前服务器主机名
echo $_SERVER['HTTP_HOST'];//返回当前请求的host头
echo $_SERVER['SERVER_ADDR'];//返回服务器ip
echo $_SERVER['PHP_SELF'];//返回当前执行脚本文件名
echo $_SERVER['REMOTE_ADDR'];//返回浏览当前页面用户IP
echo $_SERVER['REMOTE_PORT'];//返回用户连接web服务端的端口

预定义常量

 __LINE__ 返回文件中的当前行号

 __FILE__:返回当前文件的绝对路径(包含文件名)

 __DIR__:返回当前文件的绝对路径(不包含文件名)

__FUNCTION__:返回当前函数(或方法)的名称