【问题标题】:PHP Class - public variable not displaying correctly outside classPHP 类 - 公共变量在类外未正确显示
【发布时间】:2012-08-14 09:12:38
【问题描述】:

在 myClass 中我声明了$_total_results_found = 0

然后在我的函数中我改变了$_total_results_found = 10的值

但是,当我尝试在 myClass 之外调用它时,值仍然显示为 0。

谁能帮我写这段代码?

class myClass
{
  private $_total_rows_count = 0;
  public function foundResults()
  {
    $count = 10;
    $this->_total_rows_count = $count;
  }
} // end myClass


$myclass = new myClass();
echo $myclass->_total_results_found; // Value is showing 0 instead of 10

【问题讨论】:

  • _total_results_found != _total_rows_count
  • _total_results_found 从未被分配...
  • 这段代码没有意义。 $myclass = new myClass(); 创建一个新的类对象。接下来你必须调用函数$myclass->foundResults()。最后 - 您无法访问在其类之外声明 private 的变量。改用公共。
  • 同时关闭 E_NOTICE 错误的隐藏,你会发现这段代码实际上是错误的,我建议显示所有错误

标签: php class public


【解决方案1】:

你还没有在任何地方声明_total_results_found。您使用的唯一变量是_total_rows_count,它是私有的,因此无法在课堂外访问。

【讨论】:

    【解决方案2】:

    给你:

    <?
    class myClass
    {
      public $_total_rows_count = 0;
      public function foundResults()
      {
        $count = 10;
        $this->_total_rows_count = $count;
      }
    } // end myClass
    
    
    $myclass = new myClass();
    $myclass->foundResults();
    echo $myclass->_total_rows_count; //will print 10
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-03
      • 2013-08-21
      • 1970-01-01
      • 1970-01-01
      • 2015-07-17
      • 1970-01-01
      • 2010-12-31
      相关资源
      最近更新 更多