//根据变量名、变量的个数、变量的类型实现函数的重载
function __call($name, $args )
{
if($name=='insert')
{
$i=count($args);
if (method_exists($this,$f='insert'.$i))
{ //检查类中是否存在该函数,this指调用该函数的对象
call_user_func_array(array($this,$f),$args);
//调用函数,array($this,$f)为要调用的函数名,$args为参数数组
}
}
//根据变量的类型重载
if($name=='delete')
{
$type = gettype($args[0]);print_r($type);
if ($type = "string")
{
$f = 'delete0';
call_user_func_array(array($this,$f),$args);
}
else if ($type = "integer")
{
$f = 'delete1';
call_user_func_array(array($this,$f),$args);
}
else
{
$f = 'delete2';
call_user_func_array(array($this,$f),$args);
}
}
} 最佳答案