使用$ this来解决错误

时间:2015-05-06 00:40:10

标签: php usort

这是我的代码:

usort($chartData, function ($a, $b) {
    $aTotal = $this->getUserAggregate($a);
    $bTotal = $this->getUserAggregate($b);
    return $aTotal < $bTotal;
});

我的错误是:PHP Fatal error: Using $this when not in object context

我不明白这个代码在我自己的计算机上运行良好,但是当我在适当的Web服务器上运行它时会出错。

从错误中我了解到$this似乎超出了范围,但我该如何解决这个问题以便它可以在所有机器上运行?

编辑:这是getUserTaskAggregates()

private function getUserTaskAggregate($data)
{
    return ($data[Constants::ONE] + $data[Constants::TWO] + $data[Constants::THREE] + $data[Constants::FOUR]
        + $data[Constants::STOCKED] + $data[Constants::PREVIOUSLY_STOCKED]);
}

1 个答案:

答案 0 :(得分:0)

在PHP 5.4中添加了<div id="mainboard"> <div id="title">Red (2)</div> <div id="card"><div class="price">23</div><div class="style">red</div></div> <div id="card"><div class="price">10</div><div class="style">red</div></div> <div id="title">Blue (2)</div> <div id="card"><div class="price">20</div><div class="style">blue</div></div> <div id="card"><div class="price">35</div><div class="style">blue</div></div> <div id="title">Green (1)</div> <div id="card"><div class="price">29</div><div class="style">green</div></div> </div> 内部闭包支持,因此它不适用于PHP 5.3。如果您希望代码是可移植的,那么您可以这样做:

$this

或者您可以使用更新的PHP版本升级服务器,这将是最好的;)