php 变量作用域

php中变量的作用域有3个范围

  1. 局部变量,函数内部的变量
  2. 全局变量,函数外部的变量
  3. 超全家变量,函数内部外部都可以使用,一般以$_开头的

局部变量(在函数内部定义的变量)

例如:其中的 n u m 就 是 局 部 变 量 , 不 能 在 函 数 外 部 使 用 , 只 能 在 函 数 内 部 调 用 , 以 下 在 函 数 外 部 调 用 num就是局部变量,不能在函数外部使用,只能在函数内部调用,以下在函数外部调用 num使num,会报Notice: Undefined variable: num 错误

public function getVariate(){
	$num = 10;
	echo $num;
}
echo $num;

全局变量(函数外部定义的变量)

例如:$num在函数外部定义,成为全局变量,全局变量不能在函数内部使用。下面的代码会报Notice: Undefined variable: num,因为在函数外部定义的变量在函数内是不能使用的

$num = 10;
public function getVariate(){
	echo $num;
}
getVariate();

超全局变量(函数内部和外部都能使用)

超全局变量包含以下几个

  1. $_POST
  2. $_GET
  3. $_REQUEST
  4. $_COOKIE
  5. $_SERVER
  6. $_SESSION
  7. $_FILES
  8. $_ENV

以一个为例

$_POST['num']= 10;
public function getVariate(){
	echo $_POST['num'];
}
getVariate();//10
public function getVariate(){
	$_POST['num'] = 10;
}
echo $_POST['num'];//10

如何在函数内使用函数外部定义的变量

在函数内部使用函数外部的变量,除了可以使用超全局变量之外,还可以使用 G L O B A L S 或 者 g l o b a l , 其 中 GLOBALS或者global,其中 GLOBALSglobal,GLOBALS 是获取所有的全局变量的值,而global 是引用全局变量的地址。

$num = 10;
$num2=20;
public function getVariate(){
	var_dump($GLOBALS);
	$GLOBALS['num'] = 100;//将值赋给全局变量
}
echo getVariate();//10和20
echo $num;//100
$num = 10;
$num2=20;
public function getVariate(){
	global $num;
	echo $num;
	$num = 100;
}
echo getVariate();//10
echo $num;//100
  • 1
    点赞
  • 4
    收藏 更改收藏夹
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开水与白面包

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值