我有一个像这样的 PHP 类:
class RandomNumberStorer{
var $integers = [];
public function store_number($int){
array_push($this->integers, $int);
}
public function run(){
generate_number('store_number');
}
}
另外我有一个以函数作为参数的函数,例如:
function generate_number($thingtoDo){
$thingToDo(rand());
}
所以我初始化了一个RandomNumberStorer
并运行它:
$rns = new RandomNumberStorer();
$rns->run();
我收到一个错误,提示 'Call to undefined function store_number'。现在我明白了,由于 store_number
在 RandomNumberStorer
类中,它是一个方法,但是否有办法将一个类方法传递给 generate_number
函数?
我已经尝试将 store_number
函数移出类,但这样会导致一个关于在类/实例上下文之外引用 $this
的错误。
我想避免将 RandomNumberStorer
实例传递给外部的 generate_number
函数,因为我还在其他地方使用此函数。
这种做法能行吗?我曾设想过以下代码:
generate_number('$this->store_number')
generate_number(array($this, 'store_number'))
- elclanrsgenerate_number
如何知道如何处理数组? - Jon