我将几个函数组合到一个类中。一些函数将使用相同的列表来完成一些计算工作。有没有办法放置列表,以便所有函数仍然可以访问该列表,而不是将列表放在每个需要列表的函数中?
// 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)
删除$行 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)