我的助手类中有一个函数,每次调用该函数时,该变量应递增。
这是我的代码:
<?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。
答案 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/EaEqA和https://3v4l.org/pto7m
注意:-您确实在$count
中进行了递增,但没有将其添加到静态计数属性中。这就是为什么您总是得到1。