我试图从课外调用函数并遇到问题:
class Factorial{
public function factorial($number) {
if ($number < 2) {
return 1;
} else {
return ($number * factorial($number-1));
}
}
}
$f = new Factorial();
echo $f->factorial(5);
有人可以指出我正确的方向吗?
非常感谢
答案 0 :(得分:3)
你的问题不在外面,而在于内部:
public function factorial($number) {
if ($number < 2) {
return 1;
} else {
return ($number * $this->factorial($number-1));
}
}
如果你想引用另一种方法,你必须使用$this->methodname
$this
引用实例:
从对象上下文中调用方法时,伪变量
$this
可用。$this
是对调用对象的引用(通常是方法所属的对象(...))
我建议阅读PHP - OOP - The Basics。
答案 1 :(得分:2)
$this->factorial($number-1)
是你想要的类方法。代码变得混乱,因为你将类命名为函数(并且它认为它是构造函数)。