0

每个人说这不是子方法,但它是在我的类的另一个方法中调用的方法Paginate

当我尝试运行它时:

public function paginate() {
    // Other stuff here 
    for ($i = $pageMin; (($i <= $pageMax) && ($i <= $this->arrayLength)); $i++) {
    $this->build(); // The important bit! 
    }
    // Other stuff here 
}

public function build() {
    echo $array[$i]['name'];
}

我被告知$i is undefined在我的方法调用 echo 的那一行build()。为什么是这样?在另一个方法内部调用的方法是否不会从父方法继承变量?从's 的角度来看不是$i相对全球化吗?build()

我该如何解决这个问题?当我在里面调用它时,我是否必须将$ibuild()作为参数传递paginate()?这看起来并不完全干净。备择方案?

4

1 回答 1

1

它们属于不同的范围。

您必须使用参数传递它。

$this->build($i); 

--

public function build($i) {
    echo $array[$i]['name'];
}
于 2013-08-30T05:03:36.540 回答