1.PHP 预定义的超全局变量数组

特性:

a.特殊的数组,操作方式没有区别

b.不用声明,php脚本中默认存在,因为在php中不用定义,所以在自定义变量是应避免和预定的全局变量同名

c.在全局范围内自动生效,即在函数中直接就可以使用,不用使用global关键字访问

2.超全局变量数组

a.$_SERVER 服务器变量

$_SERVER 是一个包含诸如头部信息,路径和脚本位置的数组

示例:

foreach($_SERVER as $key => $value){
     echo '$_SERVER['+.$key+']='.$value.'<br>';

}

b.$_ENV 环境变量

$_ENV 数组中的内容是在PHP解析器运行时,从PHP所在服务器中环境变量转变为PHP全局变量

示例:

foreach($_ENV as $key => $value){
      echo '$_ENV['+.$key+']'.$value.'<br>';

}

c.$_GET Url GET 变量

$_GET 数组也是超全局变量数组,通过Url Get 方法传递的变量组成数组,它属于外部变量,即在服务器页面中通过$_GET超全局数组Url 或表单GET方式

传递过来的参数

示例:

http://www.xxx.com/index.php?id=1&name=lin

echo 'Id='.$_GET['id'].'<br>';

echo 'Name='.$_GET['name'].'<br>';

或者:print_r($_GET);

d.$_POST HTTP POST 变量
$_POST 数组是通过HTTP POST 方法传递的变量组成数组 $_POST 和$_GET 数组之一都可以保存表单提交的变量
示例:
<form action='save.php' method='post'>
<input type='text' name='name'/>
<input type='text' name='id'/>
</form>
foreach($_POST as $key=>$value){
echo $key.'='$value.'<br>';
}

e.$_REQUEST request变量
此关联数组包含$_GET $_POST 和$_COOKIE 中全部内容 如果表单时通过form 的post 提交的就通过$_POST 获取,通过
GET方式发送就用$_GET 方式获取。$_REQUEST不用关注是POST 或者GET ,即$_REQUEST 可以获取get 或post的数据但是
速度慢。

f.$_FILES HTTP 文件上传变量
使用表单file输入域上传文件时,必须使用post方式提交但在服务器端不能通过$_post 文件获取而是通过$_FILES来获取
$_FILES是一个二维数组,包含5个子元素。

g.$_COOKIE HTTP cookies
$_COOKIE 超全局数组是经HTTP cookies方法提交至脚本变量,通过这些cookies 是由以前执行的PHP脚本通过setCookie()
函数设置到客户端的浏览器,php脚本从客户端获取cookie后将会自动转换成一个变量,可以通过$_COOKIE 超全局数组和
cookies的名称来存取指定cookie值。

h.$_SESSION session 变量
会话控制是在服务端使用session跟踪用户,当服务端页面中使用session_start() 函数开启session后,就可以使用$_SESSION
数组主机全局变量。

i.$GLOBALS global
$GLOBALS 是由所以定义的全局变量组成的数组,变量名就是该数组的索引,在所有脚本中都有效,在函数或对象中的方法中不
需要使用关键字global访问,在函数外部声明全局变量,可以使用$_GLOBALS 数组替代global 关键字
示例:
$a=1;$b=2;

function $sum(){

$GLOBALS['b']=$GLOBALS['a']+$GLOBALS['b'];
}
$sum();
echo $b;

PHP学习1.5-预定义超全局数组变量的更多相关文章

  1. PHP 预定义超全局数组/变量

    1.超全局变量:不用定义声明即可用.PHP有九种 2.$_GET:通过参数传递给当前脚本的变量的数组 浏览器页面-->(http协议)->apache-->php module--& ...

  2. PHP中预定义超全局数组(变量)

    PHP中许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用.超全局变量除了具有全局变量特点外,在函数或方法中无需执行global $variable:就可以访问它们. 提供超全 ...

  3. PHP中的预定义超全局数组

    定义 超全局变量,是在全部作用域中始终可用的内置变量. PHP中的许多预定义变量都是"超全局的",这意味着它们在一个脚本的全部作用域中都可用. 在函数或方法中无需执行 global ...

  4. PHP开发——超全局数组变量

    概述 l  JS中的变量分两类:局部变量.全局变量. l  PHP中的变量分三类:局部变量.全局变量.超全局变量. l  局部变量:在函数内部声明的变量,就是局部变量.函数执行完毕,局部变量就消失了. ...

  5. PHP学习笔记--Php预定义超全局变量$_GET

    Php中的许多预定义变量都是超全局的,无需使用global声明 超全局变量 不需要声明就可以直接使用 提供超全局变量(数组)为了让程序员更快捷的编程 $GLOBALS— 引用全局作用域中可用的全部变量 ...

  6. php超全局数组变量

    (1)$_SERVER 服务器的相关信息 (2)$_GET 接收用户通过url向服务器传的参数  $POST 接收用户通过http协议向服务器传递的参数 发送get请求 <a href=&quo ...

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

    <?php  预定义数组: * 自动全局变量---超全局数组 * * 1.包含了来自WEB服务器,客户端,运行环境和用户输入的数据 * 2.这些数组比较特别 * 3.全局范围内自动生效,都可以直 ...

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

    预定义数组: 自动全局变量---超全局数组 1. 包含了来自WEB服务器,客户端,运行环境和用户输入的数据 2. 这些数组比较特别 3. 全局范围内自动生效,都可以直接使用这些数组 4. 用户不能自定 ...

  9. 【二十三】php之预定义超全局变量

    php提供了九种预定义超全局变量: $_GET.$_POST.$_REQUEST.$_SERVER.$_ENV.$_FILE. $_COOKIE.$_SESSION. $GLOBALS 1.$_GET ...

随机推荐

  1. (十一)Json文件配置

    接上一节,新建一个项目:JsonConfigSample 依然添加Microsoft.AspNetCore.All 在项目下新建一个Class.json配置文件 { ", "Cla ...

  2. grep 查看前后几行和参数匹配

    如果在只是想匹配模式的上下几行,grep可以实现.   grep -5 'parttern' inputfile //打印匹配行的前后5行 grep -C 5 'parttern' inputfile ...

  3. Matlab神经网络验证码识别

    本文,将会简述如何利用Matlab的强大功能,调用神经网络处理验证码的识别问题.  预备知识,Matlab基础编程,神经网络基础.  可以先看下: Matlab基础视频教程 Matlab经典教程--从 ...

  4. DRF初识

    目录 Web API接口 什么是Web API接口 接口四大特征 接口文档的编写测试 restful接口规范 url链接设计 五大请求方式 响应结果 DRF框架安装 基于原生Django实现十大接口 ...

  5. React项目开发经验汇总

    博客来源 小寒的博客   定义好全局配置信息 环境变量不要提取出来,配置信息提取出来 UI样式变量 定义好变量的作用不用多说 样式库建设 工具样式,复用性强的样式,这些class成为会是真个网站样式的 ...

  6. Java中的String真的无法修改吗

    Java中String一旦赋值将无法修改,每次对String值的修改都是返回新的String. 如何在不创建新的String对象的情况下,对String的值进行修改呢? String类中的包含一个字段 ...

  7. Jeecg-Boot 2.0 版本发布,基于Springboot+Vue 前后端分离快速开发平台

    目录 Jeecg-Boot项目简介 源码下载 升级日志 Issues解决 v1.1升级到v2.0不兼容地方 系统截图 Jeecg-Boot项目简介 Jeecg-boot 是一款基于代码生成器的智能开发 ...

  8. Java序列化接口的作用总结1

    一个对象有对应的一些属性,把这个对象保存在硬盘上的过程叫做”持久化”. 把堆内存中的对象的生命周期延长,存入硬盘,做持久化操作.当下次再需要这个对象的时候,我们不用new了,直接从硬盘中读取就可以了. ...

  9. shell下时间日期的加减乘除运算

    首先我们先来说说什么是shell下的时间戳: 自1970年1月1日(00:00:00 UTC/GMT)以来的秒数.它也被称为Unix时间戳(Unix Timestam.Unix epoch.POSIX ...

  10. “玲珑杯”ACM比赛 Round #11 B题

    http://www.ifrog.cc/acm/problem/1097?contest=1013&no=1 //LIS的高端写法 #include <iostream> #inc ...