douzhuang2570
2013-08-26 07:28
浏览 200
已采纳

php call_user_func_array()警告

I am using following code in my program.

class A {
function __call($fname,$arguments)
{
    $methods = array('get', 'set');
    foreach ($methods as $method) {
        if(strstr($fname,$method))
        {
            $fname = str_replace($method, "", $fname);
            $function = $method."method";
            if($method == "set")
            {
                call_user_func_array("setmethod", array($fname,$arguments[0])); 
            }
            if($method == "get")
            {
                call_user_func_array("getmethod", $fname);
            }
            break;
        }
    }
}

function setmethod ($key,$value)
{
    $this->$key = $value;
}

function getmethod($key)
{
    return $this->$key;
}
}

and I am getting warrning like this

"Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'setmethod' not found or invalid function name"

and the program get stopped nothing is displayed further.

图片转代码服务由CSDN问答提供 功能建议

我在我的程序中使用以下代码。

  class 一个{
_function__call($ fname,$ arguments)
 {
 $ methods = array('get','set'); 
 foreach($ methods as $ method){
 if(strstr($ fname)  ,$ method))
 {
 $ fname = str_replace($ method,“”,$ fname); 
 $ function = $ method。“method”; 
 if($ method ==“set”)\  n {
 call_user_func_array(“setmethod”,array($ fname,$ arguments [0]));  
} 
 if($ method ==“get”)
 {
 call_user_func_array(“getmethod”,$ fname); 
} 
 break; 
} 
} 
} 
 
 
函数 setmethod($ key,$ value)
 {
 $ this-> $ key = $ value; 
} 
 
function getmethod($ key)
 {
 return $ this-> $ key;  
} 
} 
   
 
 

我正在接受这样的调整

“警告:call_user_func_array()需要参数1 要成为有效的回调函数,找不到函数'setmethod'或函数名称无效“

并且程序停止运行,不再显示任何内容。

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

相关推荐 更多相似问题