php 类中的静态属性

<?php
class ceshi{
    public static $map;
    public  function a(){
        self::$map =['a'];
    }
    public function b(){
        var_dump(self::$map);
    }
}
$ce = new ceshi();
$ce->a();
$ce->b();
echo '</br>';
$cee = new ceshi();
$cee->b();
echo '</br>';
class exercise{
    public  $map;
    public  function a(){
        $this->map =['a'];
    }
    public function b(){
        var_dump($this->map);
    }
}
$ce = new exercise();
$ce->a();
$ce->b();
echo '</br>';
$cee = new exercise();
$cee->b();
echo '</br>';

输出 :

array(2) { [0]=> string(1) "a" [1]=> string(1) "b" } 
array(2) { [0]=> string(1) "a" [1]=> string(1) "b" } 
array(1) { [0]=> string(1) "a" } 
NULL 

结论:

  static 类型的属性是独立于类实例之外的,第一个实例更改其值后,第二个实例可以沿用第一个的更改。

也就达到千人栽树后人乘凉的效果