【问题标题】:PHP: Increment the variable each time you run the functionPHP:每次运行函数时递增变​​量
【发布时间】:2019-01-07 06:20:27
【问题描述】:

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

这是我的代码:

<?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;
    }
   }

}

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

【问题讨论】:

  • @Joseph_J 是的。例如,变量 questionArray 长度为 3,即使它通过了条件,它仍然不会增加。
  • 修复“$count == 0;”到“ $count = 0;”
  • 真的不确定这个设计,它看起来好像在遍历一个问题列表。如果是,则创建一个包含问题列表的对象,然后使用next() 方法。

标签: php laravel class


【解决方案1】:

试试:

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 而没有将其添加到静态计数属性中。因此,您将始终得到 1。而是实际增加静态计数属性。

【讨论】:

    【解决方案2】:

    你必须在任何地方使用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。

    【讨论】:

      猜你喜欢
      • 2020-03-20
      • 2012-05-31
      • 1970-01-01
      • 2023-04-09
      • 1970-01-01
      • 2019-01-24
      • 1970-01-01
      • 1970-01-01
      • 2023-01-04
      相关资源
      最近更新 更多