如何使用 PHP 访问函数内的类变量

Cry*_*sie 7 php oop class

我将几个函数组合到一个类中。一些函数将使用相同的列表来完成一些计算工作。有没有办法放置列表,以便所有函数仍然可以访问该列表,而不是将列表放在每个需要列表的函数中?

// Simplified version of what I am trying to do
Class TestGroup
{
    public $classArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

    public function getFirstFiveElemFromArray()
    {
        $firstFive = array_slice($this -> $classArray, 0, 5, true);
        return $firstFive;
    }

    public function sumFirstEightElemFromArray()
    {
        //methods to get first eight elements and sum them up
    }

}

$test = new TestGroup;
echo $test -> getFirstFiveElemFromArray();
Run Code Online (Sandbox Code Playgroud)

这是我收到的错误消息:

Undefined variable: classArray in C:\wamp\www\..
Run Code Online (Sandbox Code Playgroud)

Iva*_*van 4

删除$行 8. 您访问类内的变量。在类内部,您可以像这样调用方法和变量:$this->myMethod()和$this->myVar。在类之外调用方法和 var,如 so$test->myMethod()和$test->myVar。

请注意,方法和变量都可以定义为 Private 或 Public。根据这一点,您将能够在课堂外访问它们。

// Simplified version of what I am trying to do
Class TestGroup
{
    public $classArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

    public function getFirstFiveElemFromArray()
    {
        $firstFive = array_slice($this -> classArray, 0, 5, true);
        return $firstFive;
    }

    public function sumFirstEightElemFromArray()
    {
        //methods to get first eight elements and sum them up
    }

}

$test = new TestGroup;
echo $test -> getFirstFiveElemFromArray();
Run Code Online (Sandbox Code Playgroud)