php变量作用域的浅析

php变量作用域的浅析

1,函数体外定义的变量为全局变量,除函数体内不能使用在整个脚本的其他位置均可以使用。
如:

<?php
$g=10;//函数体外定义的全局变量
function ex(){
echo $g;//报错Notice: Undefined variable: g 
}
?>

2,函数体内定义的变量,只能在函数体内使用不能再函数体外用。

<?php
function ex(){
$g=10;
}
echo $g;报错Notice: Undefined variable: g 
?>

3,$GLOBALS数组与global关键字

在上面1,2两条已经说明了 函数体内不能使用函数体外定义的变量,函数体外也不能使用函数体内的变量。如果想使用怎么办呢?
$GLOBALS数组,这个数组是php的内置数组,里面存的除了php存储的一些如$_SERVER $_ENV $_ SESSION $_ GET 还会存储程序员在脚本中自定义的全局变量。
如:

<?php
$outvar=10;/*这样php就会将这个变量存储在$GLOBALS数组中*/
?>

在函数体内是可以使用 $GLOBALS数组中的变量的,但是不能像在函数体外直接用 $varname的形式使用,必须用$GLOBALS[‘varname’]的形式使用,因为或者用global函数直接说明一下这个函数用的是全局变量的一个函数不是函数体内的变量。
如:

<?PHP
function ex(){
global $outvar;/*相当进行了两部操作,1,将outvar存入$GLOBALS数组中,2,声明使用的是$GLOBALS数组中的变量*/
echo $outvar
}
?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值