Ошибка MathParser в функции call_user_func_array

Люди ,

У меня есть библиотека математического парсера, однако она содержит простую ошибку. В классе есть несколько методов, и есть такой вызов:

class Mathparser_NParamNode extends Mathparser_Node {
public $nodes; //array of nodes (these are the parameters).
public $fPtr; //function to execute

public function __construct($n, $FuncAddr) {
$this->nodes = &$n;
$this->fPtr  = $FuncAddr;
}
public function getValue() {
if($this->fPtr->Name=='IF'){
//special case for short circuit boolean logic.
//helps to avoid div by zero etc.
//assume there are 3 parameters:
$cond = $this->nodes[0]->getValue();
if($cond==0){ //false:
return $this->nodes[2]->getValue();
}else{
return $this->nodes[1]->getValue();
}
}else{
$p = array();
$count = count($this->nodes);
for($i=0; $i<$count; $i++){
$p[]=$this->nodes[$i]->getValue();
}

print_r($this->fPtr->EventHandler);

return call_user_func_array($this->fPtr->EventHandler, $p);
}
}

Когда этот метод вызывает магические методы класса, функция работает, когда я вызываю такую ​​функцию

function mp_div_(){
$p = func_get_args();
$s='';
foreach($p as $val){
$s.=$val;
}
return $s;

Получить эту ошибку ::
call_user_func_array () ожидает, что параметр 1 будет допустимым обратным вызовом, функция ‘mp_div_’ не найдена или недопустимое имя функции,
как я могу вызвать эту функцию? магические методы, созданные классом, работают

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector