我的代码遵循以下结构:
class someClass
{
private static $pay = 0;
//something like this...
public static function run()
{
if ($_SESSION['title']== "whatever" and $_SESSION['rank'] == "1")
{
self::$pay = 50000;
}
}
public static function benefits()
{
self::$pay = 50000 * 1.30;
benefits = self:$pay;
echo benefits;
}
}
然后我尝试拨打这样的好处......
someClass::benefits();
但它始终设为零。当满足if语句中的条件时,它永远不会改变。
我在这里做的事情显然是错的吗?我没有收到任何错误。
感谢您的帮助。
答案 0 :(得分:1)
我真的不认为你想要来自该类功能的echo
值。我强烈推荐return
。然后,如果你立刻回应它们,那很好,但是你不应该像函数那样回应。没有看到如何使用它,这将是我的第一个猜测。
答案 1 :(得分:1)
在福利函数中,如果您打算将其用作局部变量,那么益处应该是$ good。
答案 2 :(得分:1)
请尝试以下代码:
<?php
class someClass
{
private static $pay = 0;
//something like this...
public static function run()
{
if ($_SESSION['title']== "whatever" and $_SESSION['rank'] == "1")
{
self::$pay = 50000;
}
}
public static function benefits()
{
self::$pay = 50000 * 1.30;
$benefits = self::$pay;
return $benefits;
}
}
echo someClass::benefits();
?>
答案 3 :(得分:0)
你正在使用benefits
,好像它是常量的(在php中不允许分配) - 你可能意味着$benefits
。将您的代码更改为:
self::$pay = 50000 * 1.30;
$benefits = self::$pay;
echo $benefits;
答案 4 :(得分:0)
public static function benefits()
{
self::$pay = 50000 * 1.30;
echo self::$pay;
}
应该是你要找的东西
答案 5 :(得分:0)
你必须改变
benefits = self:$pay;
到
benefits = self::$pay;