wordpress CMS主题 微信
Home > PHP开发 > 全局变量、局部变量以及静态变量

全局变量、局部变量以及静态变量

高时银博客 PHP开发 点击: 1,436 次 0 0
  • 标签:
  • 前面我们谈过变量的几大种类:bool变量、整型变量、字符串变量、浮点型变量等等。本节再来从变量的功能再来谈谈变量:全局变量、局部变量以及静态变量。(提示:PHP中变量名是区分大小写的,而其它如函数名类名等是不区分大小写的

    1、全局变量。

    全局变量也称为外部变量,它是在函数外部定义的变量。 它不属于哪一个函数,它属于一个源程序文件。其作用域是从定义该变量的位置开始至源文件结束。php中的函数要想调用全局变量有两种方法:(1)在变量前加global ;(2)使用全局数组GLOBAL["变量名"] 。通过下面的实例可以了解到全局变量怎样使用:

    <?php$a=99;

    $b=88;

    function table()

    {

    global $a;  //通过global关键字来调用全局变量

    $GLOBALS['b']=188; //通过超全局数组来调用全局变量,并更改变量$b的值为188;

    $a=100;  把变量$a的值改成100;

    //      $b=188;

    }

    table(); //调用函数

    echo $a; //输出$a的值

    echo "<br>";

    echo $b;//输出$b的值

    ?>

    输出结果为:100   188

    2、局部变量。

    上面的实例中,如果不使用关键字global和全局数组,而是直接更改函数里面的变量值,那么函数里的变量就变成了局部变量,也就是说函数结束后,这些变量就被释放了,不存在了。所以,也就影响不了开头定义的全局变量的值了。那么,输出结果就是原来的值:99  88  。也就是说,局部变量出了函数,就不起作用了。

    3、静态变量。

    静态变量只存在于函数作用域内,也就是说,静态变量只存活在栈中。一般的函数内变量在函数结束后会释放,比如局部变量,但是静态变量却不会。就是说,下次再调用这个函数的时候,该变量的值会保留下来。只要在变量前加上关键字static,该变量就成为静态变量了。下面,我通过一个小实例来做下说明:

    <?phpfunction table()

    {

    static $a=0;  //定义了一个静态变量,并赋值为0;

    echo $a;  //先输出变量

    echo "<br>";

    $a++;  //再自加1

    }

    table();

    table();

    table();

    table();

    ?>

    输出 的结果就是: 0   1   2   3  。如果不定义成静态,那么每次输出都会是0,那是因为在自加前就已经输出了变量的值。


    文章作者:高时银博客
    本文地址:http://wanlimm.com/7720140126936.html
    版权所有 © 转载时必须以链接形式注明作者和原始出处!

    目前还没有评论。赶快来坐沙发吧。

    发表评论