search

Home  >  Q&A  >  body text

php - why does this give an error

<?php
class aa{
   static public  $zz = 8;
   public function a1(){
        $a=1;
        $this->a2();
        return $a;

    }
    
    public function a2(){
        $this->zz +=1;
    }
}

$k = new aa();
$k->a1();
$k->a2();
 
echo $k->zz;
echo '<br>';
echo $k->a1();
die();

Strict Standards: Accessing static property aa::$zz as non static in D:WWWclient.php on line 13

Notice: Undefined property: aa::$zz in D:WWWclient.php on line 13

Strict Standards: Accessing static property aa::$zz as non static in D:WWWclient.php on line 27
2

Strict Standards: Accessing static property bb::$zz as non static in D:WWWclient.php on line 13

Notice: Undefined property: bb::$zz in D:WWWclient.php on line 13
1

漂亮男人漂亮男人2738 days ago509

reply all(3)I'll reply

  • phpcn_u1582

    phpcn_u15822017-05-16 13:15:40

    Static member variables can only be accessed by static methods, and static methods can only access static members

    How to access static members:

    类内调用
    self::$zz += 1;
    
    类外调用
    aa::$zz;

    reply
    0
  • 阿神

    阿神2017-05-16 13:15:40

    You declared that $zz is a static variable, and then you use $this to call it. Is there any problem?

    reply
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 13:15:40

    Static member variables are called in a static way

    reply
    0
  • Cancelreply