php中全局变量
1、全局变量:在函数外面 2、局部变量:在函数里面,默认情况下,函数内部是不会去访问函数外部的变量 3、超全局变量:可以在函数内部和函数外部访问 - <?php
- $num=10;
- function fun() {
- echo $num; //Notice: Undefined variable: num
- }
- fun();
- //函数内部默认不能访问函数外部的值
- ---------------------
- <?php
- $_POST['num']=10; //将值付给超全局变量
- function fun() {
- echo $_POST['num']; //获取超全局的值 10
- }
- fun();
- ----------------------------
- <?php
- function fun() {
- $_GET['num']=10; //将值付给超全局变量
- }
- fun();
- echo $_GET['num']; //打印超全局变量的值 10
复制代码global关键字
- <?php
- $num=10;
- function fun() {
- global $num; //将全局变量的$num的地址引入到函数内部 相当于$num=&GLOBALS['num']
- echo $num; //10
- $num=100;
- }
- fun();
- echo '<br>';
- echo $num; //100
- -----------------------------------
- <?php
- $num=10;
- function fun() {
- global $num;
- unset($num); //销毁的是引用,不是具体的值
- }
- fun();
- echo $num; //10
复制代码小结: 1、$GLOBALS保存的是全局变量的所有的值 - <?php
- $a=10;
- $b=20;
- function show() {
- echo '<pre>';
- var_dump($GLOBALS); //是一个数组,保存的是全局变量的所有的值
- }
- show();
复制代码2、global用于创建一个全局变量的引用
注意:常量没有作用域的概念 - <?php
- /*
- define('PI',3.14);
- function fun() {
- echo PI; //3.14
- }
- fun();
- echo '<br>';
- */
- -------------------------------------
- function fun() {
- define('PI',3.14);
- }
- fun();
- echo PI; //3.14
复制代码
|