当前位置:首页 > Web开发 > 正文

还有一种是 global 关键词

2024-03-31 Web开发

感化域指的是感化范畴,在php中,

  函数内的有感化的范畴就叫局部感化域,在里面界说的变量也就是局部变量,

  在函数外有感化的范畴就叫全局感化域,在全局感化域里界说的变量也就是全局变量

一:全局不能访谒局部变量,局部不能访谒全局变量

  在php中,全局和局部之间是不能直接访谒数据变量,全局变量就只能在全局中直接使用,局部变量就只能在局部感化域中使用

 

技术图片

 二:超全局变量

<?php if (isset($_GET["num"])) { function getnum(){ return $_GET["num"]; } echo getnum(); } ?> <form action="" method="get"> 数字:<input type="text"> <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(); }

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/31845.html