PHP global variable scope inside a class

I have the following script



$myarray = array('firstval','secondval');

class littleclass {
  private $myvalue;

  public function __construct() {
    $myvalue = "INIT!";

  public function setvalue() {
    $myvalue = $myarray[0];   //ERROR: $myarray does not exist inside the class


Is there a way to make $myarray available inside the littleclass, through simple declaration? I don't want to pass it as a parameter to the constructor if that was possible.

Additionally, I hope that you actually CAN make global variables visible to a php class in some manner, but this is my first time facing the problem so I really don't know.


  • include global $myarray at the start of setvalue() function.

    public function setvalue() {
        global $myarray;
        $myvalue = $myarray[0];

    As noted in the comments, this is bad practice and should be avoided.
    A better solution would be this: