Accessing private variable from static function in

2019-06-21 22:41发布

问题:

I've got a private variable in my class

private $noms = array(
        "HANNY",
        "SYS",
        "NALINE"
);

I want to access it from a static method:

public static function howManyNom($searchValue){

        $ar = $this->noms;

        foreach($ar as $key => $value) {

...

But as normal I cant retrieve it with $this because there's no instance on a static method.

What's the right syntax to get $noms inside my static function?

回答1:

Make this attribute static too!

private static $noms = array(
    "HANNY",
    "SYS",
    "NALINE"
);


public static function howManyNom($searchValue){

    $ar = self::$noms;

    foreach($ar as $key => $value) {


回答2:

To access the $noms array make it static, you do that like so:

private static $noms = array();

You then access that like so:

self::$noms['some key'];



回答3:

You have to make the noms static, too and access it via self::$noms.



标签: php static