3
콜백 함수를 인자로받는 함수가 클래스에 있습니다.콜백 함수에 모든 인수를 전달할 수 있습니까?
하지만 다음 콜백에 N 추가 인수를 전달하고 싶습니다 :
내가 달성하기 위해 노력하고있어$myClass->each(function($result,$arg1,$arg2,$arg3){
echo $arg2; //expected: bar
},'foo','bar',85);
:
class myClass {
public function each() {
$callback = func_get_arg(0);
$args = array_slice(func_get_args(), 1); //_____
// |
if (is_callable($callback)) { // | I have $args
foreach ($this->results as $result) {// | But how can I pass
$callback($result,...$args); // | them to $callback
} //^ | as a set of args?
} // |__________________|
}
}
난 유의하시기 바랍니다 PHP 5.4 사용하여 ...
연산자를 사용할 수 없습니다
콜백을 사용하여 배열을 허용하면 func_get_args() 결과를 직접 전달할 수 있습니다. –