PHP-作用域相关
作用域指的是作用范围,在php中,
函数内的有作用的范围就叫局部作用域,在里面定义的变量也就是局部变量,
在函数外有作用的范围就叫全局作用域,在全局作用域里定义的变量也就是全局变量
一:全局不能访问局部变量,局部不能访问全局变量
在php中,全局和局部之间是不能直接访问数据变量,全局变量就只能在全局中直接使用,局部变量就只能在局部作用域中使用
二:超全局变量
<?php if (isset($_GET["num"])) { function getnum(){ return $_GET["num"]; } echo getnum(); } ?> <form action="" method="get"> 数字:<input type="text" name="num"> <input type="submit" value="提交"> </form>
在php中,超全局变量也就是能在全局中用,和局部中都能使用,像预定义变量其实都是超全局变量,如上代码,$_GET这个预定义变量,不管是在函数外(全局作用域)还是在函数内(局部作用域)都起作用,这里有一个特殊的超全局变量$GLOBALS,她是一个保存着全局和局部所有变量的数组,通过他能解决不同作用域不能访问的问题,还有一种是global关键词,设置了global关键词通过引用关系 把局部引进全局或者把全局引进局部
if (isset($_GET["num1"])) { $res = $_GET["num1"]; function demo(){ // echo $num1;Undefined variable: num1 echo ($GLOBALS[‘res‘]) ;//通过$GLOBALS[‘变量名‘]访问 } demo(); }
相关推荐
leowzl 2020-08-15
明天你好 2020-08-03
idning 2020-08-03
liusarazhang 2020-06-28
chenlxhf 2020-06-25
Jonderwu 2020-06-14
shikailonggy 2020-06-05
shangs00 2020-05-09
wanff0 2020-05-04
ChinaGuanq 2020-05-01
whbing 2020-04-21
hyxinyu 2020-04-18
sunlizhen 2020-04-17
amberom 2020-03-28
zgwyfz 2020-03-28
XCMercy 2020-03-26
ThinkingLink 2020-02-29
Livis的开发之路 2020-02-28