国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP Global定義全局變量使用說明

2024-05-04 21:58:08
字體:
來源:轉載
供稿:網友

Global是php中一個比較特殊的命令,大家直接叫他超級全局變量了,下面我來介紹我今天在使用Global定義全局學習筆記了.

很不習慣PHP中的變量作用域,PHP中函數變量和全局是完全隔絕的,也就是無法相互訪問,比如下面這樣:

  1. $test = 123; 
  2. abc(); //這里什么都不輸出,因為訪問不到$test變量 
  3. function abc(){ 
  4. echo($test); 
  5. }$test = 123; 
  6. abc(); //這里什么都不輸出,因為訪問不到$test變量 
  7. function abc(){ 
  8. echo($test); 

如果,你想在函數內部訪問外部變量,你需要這樣:

  1. $test = 123; 
  2.  
  3.  abc(); //輸出123 
  4. function abc(){ 
  5.     global $test
  6.     echo($test); 
  7. }$test = 123; 
  8.  
  9. abc(); //輸出123 
  10. function abc(){ 
  11.     global $test
  12.     echo($test); 

但如果我們在函數中定義全局變量呢,像下面這樣:

  1. function abc(){ 
  2.     global $test
  3.     $test = 123; 
  4. abc(); 
  5. echo($test); //輸出123function abc(){ 
  6.  global $test
  7.  $test = 123; 
  8. abc(); 
  9. echo($test);  
  10.  
  11.  //輸出123通過這種方式,我們可以在外部訪問到函數內部定義的變量 

在用戶自定義函數中,一個局部函數范圍將被引入,任何用于函數內部的變量按缺省情況將被限制在局部函數范圍內(包括include 和 require 導入的文件內的變量)!

解釋:A.php文件的內Test_Global是定義好的第三方函數,該函數用include導入了B.php文件內的$a的global全局變量,所以$a被限制在Test_Global局部函數范圍內,所以B.php文件內的$a的作用范圍都在Test_Global內,而不是作用了整個A.php內….

解決方案:

1. 沖出局部函數.

  1. <?php 
  2. //A.php 
  3. function Test_Global() 
  4.     Test(); 
  5. include 'B.php';//將include 從局部Test_Global函數中移出 
  6. $a = 0 ; 
  7. Test_Global(); 
  8. echo $a
  9. ?> 
  10.  
  11. //B.php 文件 
  12.  
  13. <?php 
  14. function Test() 
  15.     global $a
  16.     $a =1; 
  17. ?> 

2.優秀的訪問器,代碼如下:

  1. //A.php 文件 
  2. <?php 
  3. include 'B.php'
  4. $a =0; 
  5. Set_Global($a); 
  6. echo $a
  7. ?> 
  8.  
  9. //B.php 文件 
  10.  
  11. <?php 
  12. function Set_Global(&$var
  13.     $var=1; 
  14. ?> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大宁县| 黄浦区| 冕宁县| 都安| 芦山县| 教育| 大悟县| 惠安县| 仁怀市| 讷河市| 景谷| 乌拉特中旗| 郎溪县| 六安市| 安岳县| 澄城县| 邵阳县| 徐汇区| 江阴市| 博罗县| 高陵县| 防城港市| 肇源县| 郑州市| 盐源县| 建始县| 板桥市| 七台河市| 阳新县| 疏附县| 平谷区| 嘉鱼县| 孝感市| 定远县| 漳州市| 泸西县| 贵定县| 甘谷县| 扬中市| 剑川县| 彭山县|