php预定义超全局数组和预定义常量
时间:2022-06-08
本文章向大家介绍php预定义超全局数组和预定义常量,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
- 定义
超全局变量,是在全部作用域中始终可用的内置变量。
PHP中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。
在函数或方法中无需执行 global $variable 来访问它们。
使编写程序更方便快捷。
- 包含了web服务器、客户端、运行环境和用户输入的数据;
- 数组比较特别
- 全局范围都会生效,都可以直接去使用
- 用户无法定义这些数组,但是我们可以直接调用,追加数组元素和正常数组一样操作
$_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__:返回当前函数(或方法)的名称
- 利用Theano理解深度学习——Logistic Regression
- JavaWeb13-设计模式案例实现(Java真正的全栈开发)
- 运维平台的建设思考-元数据管理(三)(r8笔记第15天)
- JavaWeb12-JSP, EL表达式,JSTL标签
- JavaWeb11-jsp.cookie.session(1)
- 交互式使用 R题(shell)
- union(并),setdiff(差),intersect(交)R语言含义
- JavaWeb11-jsp.cookie.session(2)
- 一个慢查询报警的简单处理 (r8笔记第12天)
- 厚土Go学习笔记 | 38. goroutine轻量级线程
- 厚土Go学习笔记 | 36. web服务指定路径下的get参数接收与处理
- Java开发Spring笔记第二天
- PHP调用Go服务的正确方式 - Unix Domain Sockets
- 一条看似平常的报警邮件所做的分析(r8笔记第9天)
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- Redis实现分布式锁(setnx、getset、incr)以及如何处理超时情况
- Redis并发问题
- StackExchange.Redis通用封装类分享
- Invoke 和 BeginInvoke 的区别
- 知识卡片 生成特定形状的词云
- Redis-五种数据类型解析
- MYSQL一次千万级连表查询优化
- mysql explain用法和结果的含义
- PrimeVue 入门
- 使用神经网络为图像生成标题
- 详解匈牙利算法与二分图匹配
- clusterProfiler到底有多难安装呢
- 有些包卸载了就回不去了
- 使用 Vue-CLI 3.x 快速搭建「Vue + TS + Kbone + Kbone-UI + 云开发」 项目
- 「R」R Docker 教程(续)