全局变量无法在函数内部访问

时间:2017-02-15 13:14:00

标签: php global-variables global

我需要从另一个函数访问全局变量。首先,我在一个函数中将值赋给全局变量。当我试图从另一个函数获取该值时,它总是返回null。我的代码是

StockList.php

<?php 
 $_current;
class StockList
{
  public function report(){
    global $_current;
    $_current = 10;
  }

  public function getValue(){
     print_r($GLOBALS['_current']);
  }
}
?>

Suggestion.php

<?php

   include ("StockList.php");
   $stk = new StockList();  

   $stk->getValue();

?>

提前致谢。

1 个答案:

答案 0 :(得分:0)

男人,你很难理解你在做什么,因为你说你在index.php中调用了report() 无论如何,在处理类时,要设置变量值,标准过程如下:

class StockList
{
  public $_current;
  public function setValue($value){
    $this->current = $value;
  }

  public function getValue(){
     return $this->current;
  }
}

无论什么时候你想要上课:

<?php
   include ("StockList.php");
   $stk = new StockList();  
   $stk->setValue(10);
   $_current = $stk->getValue();
   var_dump($_current);
?>

这是OOP的基本思想,这种方法的好处是:

  1. 您可以动态设置$ _current的值。

  2. 你的getValue()函数并不专门用于打印变量的值,这就是为什么你只能使用该函数获取值然后用它做任何你想做的事情。