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

首頁 > 開發 > PHP > 正文

PHP基礎筆記函數global變量

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

global在php是全局變量了,這個global只是頁面全局變量,如函數之外的變量我們可以在函數中直接使用global申明就可以獲取變量的值了。

實例代碼如下:

  1. <?php 
  2. $a=12; 
  3.  
  4. function fn() 
  5.    global $a;//使用外層$a變量,不使用這個方法$a為局部變量 
  6.   $a+=12; 
  7. echo '$a='.$a//輸出結果 
  8. ?> 

輸出的結果:$a=24

總結:在函數體內定義的global變量,函數體外可以使用,在函數體外定義的global變量不能在函數體內使用,代碼如下:

  1. $glpbal $a
  2.  $a=123; 
  3. function f() 
  4.   echo $a;   //錯誤, 
  5. //再看看下面一例 
  6.  function f() 
  7.    global $a
  8.    $a=123; 
  9. f(); 
  10. echo $a;  //正確,可以使用 

上面的實例只是基本的global全局變量知識,下面我們看看復雜點的,代碼如下:

  1. //A.php 文件 
  2. <?php 
  3. function Test_Global() 
  4.     include 'B.php'
  5.     Test(); 
  6. $a = 0 ; 
  7. Test_Global(); 
  8. echo $a
  9. ?> 
  10. //B.php 文件 
  11. <?php 
  12. function Test() 
  13.    global $a;//申明函數體Sum內使用的$a變量為global全局變量 
  14.    $a =1; 
  15. ?> 

為什么輸出的卻是0?!!

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

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

解決方案:

1.沖出局部函數,代碼如下:

  1. //A.php 文件 
  2. <?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. //B.php 文件 
  11. <?php 
  12. function Test() 
  13.     global $a
  14.     $a =1; 
  15. ?> 

global問題解析:

question:我在config.inc.php中定義了一些變量($a),在別的文件中函數外部 include("config.inc.php"),函數內部需要使用這些變量$a,如果沒有聲明的話,echo $a是打印不出來任何東西的。因此聲明global $a,但是有很多函數和很多變量,總不能不斷重復的這樣聲明吧?有什么好的解決辦法,請指點。

answer1:先在config.inc.php里定義常量:define(常量名,常量值)

再在其他需要用到的地方require 'config.inc.php',

然后就能在這個文件里直接使用這個常量了。

answer2:我也有個辦法,就是定義數組,如$x[a],$x,那樣就只要聲明global $x一個了。

answer3:我試了你的這個方法,不行啊。

answer4:改你的php.ini文件。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄陵县| 北票市| 瑞丽市| 邹城市| 西昌市| 那曲县| 金昌市| 喀什市| 开江县| 柯坪县| 恩平市| 天气| 天柱县| 阿拉善右旗| 阳谷县| 民勤县| 三都| 桂林市| 察隅县| 白玉县| 阜宁县| 江阴市| 西城区| 芜湖县| 旬邑县| 临沭县| 额敏县| 秦皇岛市| 班玛县| 乐清市| 南乐县| 遵义县| 竹北市| 佛学| 苗栗县| 丹棱县| 唐山市| 重庆市| 宁化县| 调兵山市| 桃源县|