我知道这听起来像一个奇怪的问题,但这是我无法摆脱的问题。我正在定义一个类来处理发票行和它们各自的税收,我现在的'原型'看起来像这样:
public function getRate() {
if (!empty($this->lines)) {
var $total = 0;
foreach ($this->lines as $line) {
$total += $line->subtotal;
}
return ['title' => $this->attributes['title'], 'value' => $this->attributes['value'], 'type' => $this->attributes['type'], 'total' => $total];
}
}
$ total 就是在那里计算行的总数(在这种情况下是每个税率),所以在我的想法中,一旦函数返回数组就必须丢弃它。问题是......哪个更合适(更正确)? $total = 0;
或var $total = 0;
?
答案 0 :(得分:5)
注意:出于兼容性原因,仍然支持使用var关键字声明变量的PHP 4方法(作为public关键字的同义词)。在5.1.3之前的PHP 5中,它的使用会产生E_STRICT警告。
在任何情况下,变量都在函数内部,而不在类中,因此可见性无论如何都不适用。只需删除var