php 之方法重载
方法重载
<?php
namespace __0801;
function sum($a,$b)
{
return "{$a} + {$b} = ".($a + $b);
}
echo call_user_func_array(__NAMESPACE__.'\sum',[58,50]);
echo '<hr>';
class test1
{
public function sum($a,$b)
{
return "{$a} + {$b} = ".($a + $b);
}
}
//echo call_user_func_array([对象,'方法'],[40,80]);
//$obj = new Test1();
//echo call_user_func_array([$obj,'sum'],[80,80]);
echo call_user_func_array([new Test1(),'sum'],[2,2]);
echo '<hr>';
//静态方法
class Test2
{
public static function sum($a,$b)
{
return "{$a} + {$b} = ".($a + $b);
}
}
//echo Test2::sum(3,3); 这是普通方法调用
echo call_user_func_array([__NAMESPACE__.'\Test2','sum'],[5,5]);
echo '<br>';
echo call_user_func_array(__NAMESPACE__.'\Test2::sum',[6,6]);
echo '<br>';
echo call_user_func_array([Test2::class,'sum'],[7,7]);
echo '<h3>方法重载</h3>>';

浙公网安备 33010602011771号