php局部变量变超全局,PHP-变量(三)(局部变量、全局变量、超全局变量)

1. 变量的划分

JS 中 变量分两类:局部变量 和 全局变量。

PHP 中 变量分三类:局部变量、全局变量、超全局变量

2. 局部变量

在函数内部声明的变量,就是局部变量,当函数执行完毕,局部变量就消失了。局部变量,只能在函数内部使用。

// 定义函数abc

function abc() {

// 在函数内部声明变量:局部变量

$a = 100;

}

验证局部变量不能在函数外使用,如下图

acdd2678b1c935b0c22e3f58b89367ca.png

3. 全局变量

在函数外部声明的变量,就是全局变量。在 PHP 中,全局变量,在函数中不能使用,网页执行完毕,全局变量消失。

// 在函数外部声明的变量:全局变量

$b = 200;

// 定义函数abc

function abc() {

// 在函数内部声明变量:局部变量

$a = 100;

}

验证全局变量不能在函数内部使用,如下图

9b1542f1b5a1cddf8d304a8342c0b7ba.png

4. 超全局变量(也叫超全局数组变量)

是系统定义的变量,就是超全局变量。该变量可以在任何地方直接使用。

4.1 超全局变量有哪些?

超全局变量

描述

$_GET

主要用来获取 HTTP GET方式传递的数据。

$_POST

主要用来获取 HTTP POST方式传递的数据。

$_REQUEST

主要用来获取 GET 和 POST 方式传递的数据,但是速度相对较慢。

$_SERVER

主要用来获取服务器执行环境的相关信息。

$GLOBALS

主要包含GET、_POST、$_COOKIE 数组的内容。

$_SESSION

主要获取服务器端的会话信息。

$_COOKIE

主要获取客户端的会话信息。

$_FILES

主要获取上传文件的相关信息。

$ENV

获取环境信息。(不常用)

4.2 $_POST

主要用来获取 HTTP POST 方式传递到服务器的数据

特点:

① 相对安全,数据不在地址栏显示

② 可以发送任何类型的数据

③ 对数据大小没有限制

以$_POST为例,实现简单的表单提交,服务器端显示获取到的数据

/*

* 客户端代码

*/

// 验证表单信息是否匹配, 匹配就获取里面的数据

if(isset($_POST['ac']) && $_POST['ac'] == 'login') {

// 获取表单提交数据

$username = $_POST['username'];

$password = $_POST['password'];

echo "用户名:$username, 密码:$password";

}

?>

用户名:
密码:

/*

* 服务端代码

*/

// 验证表单信息是否匹配, 匹配就获取里面的数据

if(isset($_POST['ac']) && $_POST['ac'] == 'login') {

// 获取表单提交数据

$username = $_POST['username'];

$password = $_POST['password'];

echo "用户名:$username
密码:$password";

}

?>

/**

* 实现了简单的表单验证

* 要使用我的实例代码,需要满足以下条件

* ① 开启Apache服务器

* ② 设置域名 www.phpdemo1.com

* ③ 保证index.php 和 server.php 在根目录下

*/

7e8c928a83f3061be2ca0767c467654d.gif

4.3 $_GET

用来获取 HTTP GET 方式发送到服务器的数据。

特点:

① 所有的数据都会显示在地址栏,不安全

② 只能发送少量的数据。

③ 只能发送字符串类型的数据。

136d9b291c66a7bb9a122854fbd21652.gif

89945880441c39319483b9cdf780afff.png

注意:通过地址栏发送的请求都是GET请求

那么,我如果想要同时发送GET 和 POST 请求该怎么办呢?

在上例的基础上稍作改动

e8f3b0658d7f15b909142c24a9b83eb4.gif

4.4 $_REQUEST

REQUEST包含了_GET、POST、_COOKIE 数组的内容

虽然$_REQUEST 可以获取 GET 或 POST 提交的数据,但速度表较慢。

4.5 $_SERVER

$_SERVER 可以获取服务端执行环境的相关信息。

64b70879976b1f7d3268070238c48916.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值