程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP網站開發變量作用域

PHP網站開發變量作用域

編輯:PHP綜合

1、PHP中沒有全局靜態變量這一說法。

  以前做.Net開發,可以用如下的方法去緩存一些數據:

vIEw plaincopy to clipboardprint?

public class Test   { 
     private static int Count = 0;   //該變量在整個應用程序中都有效。 
}
public class Test{
     private static int Count = 0;   //該變量在整個應用程序中都有效。
}

而PHP是一種解釋型的語言,雖然有static修飾符,但意思與.Net中的完全不一樣。
即使把類中的一個變量聲明為static,這個變量也只在當前頁面級的應用程序域中有效。

2、理解變量作用域。

  在方法體外聲明的變量,在方法體內是訪問不到的。
 如:

vIEw plaincopy to clipboardprint?
<?PHP 
  $url = "www.jzxue.com"; 
  function _DisplayUrl()    { 
      echo $url; 
  } 
  function DisplayUrl()   { 
    global $url; 
    echo $url; 
  } 
  _DisplayUrl(); 
  DisplayUrl(); 
?>

<?PHP
  $url = "www.jzxue.com";
  function _DisplayUrl() {
      echo $url;
  }
  function DisplayUrl(){
    global $url;
    echo $url;
  }
  _DisplayUrl();
  DisplayUrl();
?>

_DisplayUrl方法是不會顯示任何結果,因為變量$url在方法體_DisplayUrl中是無法訪問的,在$url前加上global即可,如DisplayUrl方法。

在方法體中定義的global變量可以在方法體外訪問:

vIEw plaincopy to clipboardprint?
<?PHP 
  function _DisplayUrl()   { 
      global $myName; 
      $myName='yibin'; 
  } 
   
  _DisplayUrl(); 
  echo $myName;  //output yibin 
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved