PHP:每次运行函数时,增加变量

时间:2019-01-07 06:20:28

标签: php laravel class

我的助手类中有一个函数,每次调用该函数时,该变量应递增。

这是我的代码:

<?php

class Helper 
{

  public static $count;

  public static function voiceHelper($questionArray)
  {
    $count = self::$count;
    // $count = 0;
    if(count($questionArray) >= $count)
    {
        $count++;
        return $count;

    } else if($count > count($questionArray))
    {
        $count == 0;
        return $count;
    }
   }

}

我希望每次调用函数时count变量都会增加,但仍保持为1。

2 个答案:

答案 0 :(得分:4)

尝试:

class Helper 
{

  public static $count;

  public static function voiceHelper($questionArray)
  {

    // $count = 0;
    if(count($questionArray) >= $count)
    {
        self::$count++;
        return self::$count;

    } else if($count > count($questionArray))
    {
        self::$count = 0;
        return self::$count;
    }
   }

}

看起来您只是在递增$count而未将其添加到static count属性。因此,您将始终得到1。相反,实际上是增加静态计数属性。

答案 1 :(得分:3)

您必须在任何地方使用self::$count

<?php

    class Helper 
    {

        public static $count;

        public static function voiceHelper($questionArray)
        {

            if(count($questionArray) >= self::$count)
            {
                self::$count++;
                return self::$count;

            }

            if(self::$count > count($questionArray))
            {
                self::$count = 0; // change == to = as it's assignment
                return self::$count;
            }
        }

    }

输出:-https://3v4l.org/EaEqAhttps://3v4l.org/pto7m

注意:-您确实在$count中进行了递增,但没有将其添加到静态计数属性中。这就是为什么您总是得到1。