## 靜態變量
所有的對象都共享一個變量

1.全局變量
在任何地方都可以使用的變量,叫做全局變量。
global $a; $a=0; 全局變量要先定義,后賦值

### 1.定義
修飾符 static 變量名;
### 2.訪問
類的外部訪問:**類名::變量名**
類內部訪問:**self::變量名 或 類名::變量名**
3. 存在方式
靜態變量不是在堆區里面,在堆區存儲的是該變量的地址
~~~
<?
echo "<meta charset='utf-8'>";
class Child{
public $name;
//定義并初始化靜態變量
public static $num=0;
function __construct($name){
$this->name=$name;
}
public function join(){
//使用靜態變量
self::$num+=1;
echo $this->name."加入游戲";
}
}
$c1=new Child("周迅");
$c1->join();
$c2=new Child("馬云");
$c2->join();
echo $c1::$num;
~~~

## 靜態方法
**在操作靜態變量的時候使用靜態方法**
### 定義:
修飾符 static function 方法名(){.......}
### 特點:
靜態方法中不能訪問非靜態屬性
類外部: 類名::方法名 或 對象名->方法名
類內部: self:方法名 或 類名::方法名
~~~
<?
echo "<meta charset='utf-8'>";
class Child{
public $name;
//定義并初始化靜態變量
public static $fee=0;
public static function counts($ifee){
self::$fee+=$ifee;
}
}
$c2=new Child("馬云");
$c1=new Child("馬云");
$c1::counts(300);
$c2::counts(300);
echo Child::$fee;
~~~