• wordpress CMS主题:ssmay主题 wordpress CMS主题:ssmay主题
  • 首页 > 网站建设 > 全局變量、靜態變量以及局部變量

    全局變量、靜態變量以及局部變量

    作者: 分类:网站建设 点击: 3,782 次
    wordpress CMS主题:ssmay主题

      扫描下面的二维码,“关注”我的百家号。

      前面我們談過變量的幾大種類: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,那是因為在自加前就已經輸出了變量的值。



      欢迎“关注”我的百家号。

      头条二维码
      加入我的QQ群
      头条二维码
      关注我的百家号

    文章作者:码不停蹄
    本文地址:http://wanlimm.com/77201404041855.html
    版权所有 © 转载时必须以链接形式注明作者和原始出处!

    上一篇:
    下一篇:
    wordpress CMS主题:ssmay主题

    或许你会感兴趣的文章:

    发表评论

    您的电子邮箱地址不会被公开。 必填项已用*标注

    此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据