【问题标题】:PHP - $total = 0 and var $total = 0. Which is the correct one? [duplicate]PHP - $total = 0 和 var $total = 0。哪个是正确的? [复制]
【发布时间】:2012-09-26 21:58:11
【问题描述】:

可能重复:
What does PHP keyword 'var' do?

我知道这听起来像是一个奇怪的问题,但这是我无法摆脱的问题。我正在定义一个类来处理发票行及其各自的税款,我当前的“原型”如下所示:

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

【问题讨论】:

  • var?这是什么? 2001 年?另外:stackoverflow.com/questions/455109/var-for-a-class-in-php?rq=1
  • @PeeHaa 问题在于网络上留下的无数“PHP 教程”我们无法消失。
  • @MichaelBerkowski 不要让我开始谈论那里的所有废话。这些天中的某一天,我将对他们所有人进行 whois 并拜访他们。
  • @PeeHaa 我希望大多数人应该很容易陷入他们在示例代码中宣传的 SQL 注入漏洞!

标签: php class var


【解决方案1】:

注意:出于兼容性原因,仍然支持使用 var 关键字声明变量的 PHP 4 方法(作为 public 关键字的同义词)。在 5.1.3 之前的 PHP 5 中,使用它会产生 E_STRICT 警告。

在任何情况下,变量都在函数内部,而不是在类内部,因此可见性无论如何都不适用。只需删除var

【讨论】:

  • 感谢您的回答:)
猜你喜欢
  • 2015-03-02
  • 2019-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-12
  • 2013-09-02
  • 2018-08-16
相关资源
最近更新 更多