亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

PHP static靜態局部變量和靜態全局變量總結

2024-09-04 11:43:41
字體:
來源:轉載
供稿:網友

使用靜態局部變量的原因是它不能被外部使用,但是它的值依然在沒此使用后保留,雖然使用全局變量可以實現相同的功能,但是它經常會造成意外,靜態局部變量的特點:

1.不會隨著函數的調用和退出而發生變化,不過,盡管該變量還繼續存在,但不能使用它,倘若再次調用定義它的函數時,它又可繼續使用,而且保存了前次被調用后留下的值.

2.靜態局部變量只會初始化一次

3.靜態屬性只能被初始化為一個字符值或一個常量,不能使用表達式,即使局部靜態變量定義時沒有賦初值,系統會自動賦初值0(對數值型變量)或空字符(對字符變量);靜態變量的初始值為0.

4.當多次調用一個函數且要求在調用之間保留某些變量的值時,可考慮采用靜態局部變量。雖然用全局變量也可以達到上述目的,但全局變量有時會造成意外的副作用,因此仍以采用局部靜態變量為宜。

PHP實例代碼如下:

  1. function test() 
  2.     static $var = 5;  //static $var = 1+1;就會報錯 
  3.     $var++; 
  4.     echo $var . ' '
  5. test(); //2 
  6. test(); //3 
  7. test(); //4 
  8. echo $var//報錯:Notice: Undefined variable: var  

關于靜態全局變量,全局變量本身就是靜態存儲方式,所有的全局變量都是靜態變量,PHP代碼如下:

  1. function static_global(){ 
  2.     global $glo
  3.     $glo++; 
  4.     echo $glo.'<br>'
  5.  
  6. static_global(); //1 
  7. static_global(); //2 
  8. static_global(); //3 
  9. echo $glo . '<br>'//3 
  10. //$a 將會在包含文件 b.inc 中生效。 代碼如下 復制代碼  
  11.     <?php   
  12.     $a = 1;   
  13.     include "b.inc";   
  14.     ?> 
  15.     <?php   
  16.     //局部變量測試   
  17.     $s1"out s1"//全局變量    
  18.        
  19.     function say(){   
  20.         $s1 = "in s1"//局部變量   
  21.         echo "say():$s1";   
  22.     }   
  23.     say(); //輸出局部變量: in s1   
  24.     echo "<br/>";   
  25.     echo "function out:$s1"////輸出全局變量:out s1   
  26.     //static變量測試   
  27.     function count1(){   
  28.         $num = 0;   
  29.         $num++;   
  30.         echo $num." ";   
  31.     }   
  32.     function count2(){ //www.49028c.com 
  33.         static $num = 0;   
  34.         $num++;   
  35.         echo $num." ";   
  36.     }   
  37.        
  38.     for($i=0; $i<10; $i++){   
  39.         count1(); //11 1 1 1 1 1 1 1 1 1    
  40.     }   
  41.     echo "<br/>";   
  42.     for($i=0; $i<10; $i++){   
  43.         count2(); //1 2 3 4 5 6 7 8 9 10    
  44.     }   
  45.     echo "<br/>";   
  46.     //全局變量在函數中運用,加global   
  47.        
  48.     $a="php";   
  49.     $b = "java";   
  50.        
  51.     function show(){   
  52.         echo $a// 無輸出   
  53.         global $b;   
  54.         echo $b//定義global,輸出java   
  55.     }   
  56.     show();   
  57.     ?>   
  58. //輸出3 
  59. //代碼如下 復制代碼  
  60.     <?php   
  61.     $a = 1;   
  62.     $b = 2;   
  63.        
  64.     function Sum()   
  65.     {   
  66.         global $a$b;   
  67.        
  68.         $b = $a + $b;   
  69.     }   
  70.        
  71.     Sum();   
  72.     echo $b//3   
  73.     ?>   

在全局范圍內訪問變量的第二個辦法,是用特殊的 PHP 自定義 $GLOBALS 數組,代碼如下:

  1. <?php   
  2.     $a = 1;   
  3.     $b = 2;   
  4.        
  5.     function Sum()   
  6.     {   
  7.         $GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"];   
  8.     }   
  9.        
  10.     Sum();   
  11.     echo $b;   
  12. ?> 

靜態變量也提供了一種處理遞歸函數的方法,遞歸函數是一種調用自己的函數,代碼如下 :

  1. function Test()   
  2.     {   
  3.         static $count = 0;   
  4.        
  5.         $count++;   
  6.         echo $count//12345678910    
  7.         if ($count < 10) {   
  8.             Test ();   
  9.         }   
  10.         //$count--;   
  11.     }   
  12.     Test();  

總結:

局部變量——用在函數內,作用域就是所在函數 

全局變量——在函數外,作用域在整個php文件(包含了 include 和 require 引入的文件),但在函數中不能讀到,除非重新申明為global 

靜態變量——用在函數內,被調用完后,內存不釋放,保留最后值,多用來統計累加.

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
在线观看精品自拍私拍| 欧美一级在线亚洲天堂| 久久精品91久久香蕉加勒比| 日韩激情视频在线播放| 欧美性猛交xxxx富婆| 国产成人极品视频| 中文字幕亚洲自拍| 日韩精品在线视频美女| 欧美电影电视剧在线观看| 亚洲精品在线视频| 成人免费福利视频| 欧美一级淫片播放口| 91在线视频成人| 日韩欧美aaa| 国语自产偷拍精品视频偷| 亚洲2020天天堂在线观看| 亚洲视频在线免费观看| 亚洲一区美女视频在线观看免费| 亚洲视频第一页| 国产精品自产拍在线观看| 久久精品人人做人人爽| 日韩亚洲精品电影| 日本成人精品在线| 欧美精品久久一区二区| 欧美网站在线观看| 91在线播放国产| 亚洲国产另类久久精品| 久热精品视频在线观看| 亚洲图片欧美日产| 国产精品久久久久久久久男| 欧美福利视频在线| 亚洲第一中文字幕在线观看| 亚洲综合第一页| 欧美视频国产精品| 日韩av在线影视| 欧美日韩在线视频一区| 精品美女永久免费视频| 欧美成在线视频| 中文字幕不卡在线视频极品| 精品亚洲精品福利线在观看| 久久精品在线视频| 亚洲高清一二三区| 精品欧美国产一区二区三区| 久久天天躁狠狠躁夜夜躁| 亚洲免费精彩视频| 亚洲国产成人精品电影| 久久久久久这里只有精品| 成人免费xxxxx在线观看| 精品亚洲一区二区三区| 2019av中文字幕| 久久伊人精品一区二区三区| 久久噜噜噜精品国产亚洲综合| 韩国一区二区电影| 日韩av在线资源| 国产精品视频白浆免费视频| 国内精品400部情侣激情| 国产91在线高潮白浆在线观看| 久久精品国产91精品亚洲| 午夜精品一区二区三区在线视| 亚洲欧洲在线观看| 欧美日产国产成人免费图片| 久久视频中文字幕| 亚洲情综合五月天| 久青草国产97香蕉在线视频| 亚洲男人天堂2023| 亚洲一区二区三区久久| 日韩精品视频在线| 91久久精品一区| 国产精品扒开腿爽爽爽视频| 国产精品夜间视频香蕉| 8x海外华人永久免费日韩内陆视频| 欧美午夜视频在线观看| 欧美精品在线看| xx视频.9999.com| 欧美自拍视频在线观看| 中文字幕精品在线视频| 国模视频一区二区三区| 亚洲欧美制服另类日韩| 日本久久久久亚洲中字幕| 日韩在线中文字| 精品视频在线播放色网色视频| 欧美在线精品免播放器视频| 国产精品久久久久久久一区探花| 久久久精品一区二区三区| 97精品国产97久久久久久免费| 久久久av一区| 中文字幕欧美国内| 亚洲一区美女视频在线观看免费| 久久久成人精品视频| 夜夜嗨av一区二区三区四区| 亚洲www永久成人夜色| 国产成人免费91av在线| 2024亚洲男人天堂| 91久久久久久久久久久| 精品成人在线视频| 久久久99久久精品女同性| 91国产精品电影| 国产精品电影网站| 久久视频在线直播| 97精品一区二区视频在线观看| 国产精品国语对白| 欧美精品久久久久久久久| 亚洲精品在线看| 色偷偷噜噜噜亚洲男人的天堂| 国产成人免费av| 国产免费成人av| 中文字幕精品一区久久久久| 日韩精品免费一线在线观看| 国产精品国产三级国产aⅴ浪潮| 国产精品999| 日韩电影视频免费| 欧美精品日韩www.p站| 日韩av在线一区| 91精品国产高清自在线看超| 国产精品电影网站| 日韩视频在线免费观看| 国产精品一区电影| 最近中文字幕mv在线一区二区三区四区| 欧美大荫蒂xxx| 国产精品高潮呻吟久久av野狼| 91久久久久久久久久久| 久久精品国产久精国产一老狼| 欧美电影《睫毛膏》| 日本精品视频在线观看| 夜夜嗨av色综合久久久综合网| 国产+成+人+亚洲欧洲| 亚洲国产天堂久久综合网| 欧美国产第二页| 亚洲精品国产精品国自产在线| 最新日韩中文字幕| 97视频在线播放| 国产69精品久久久| 日韩成人在线免费观看| 久久久99免费视频| 久久精品这里热有精品| 欧洲亚洲女同hd| 亚洲男人av在线| 狠狠躁18三区二区一区| 日韩av手机在线| 欧美交受高潮1| 国产精品久久久久免费a∨大胸| 欧美高清视频免费观看| 久久亚洲一区二区三区四区五区高| 欧美电影电视剧在线观看| 视频一区视频二区国产精品| 亚洲国产小视频| 亚洲欧美国产日韩天堂区| 亚洲男人天堂古典| 欧美精品制服第一页| 亚洲精品美女在线| 欧美亚洲国产另类| 欧美激情二区三区| 亚洲一区二区久久| 欧美日韩免费在线观看| 欧美成在线观看| 91在线无精精品一区二区| 欧美亚洲另类制服自拍| 日韩在线观看免费全集电视剧网站| 尤物精品国产第一福利三区| 日本精品视频网站| 九九精品在线观看| 久久精品亚洲热| 97视频免费看| 综合久久五月天|