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>>';

  

posted @ 2019-10-18 23:16  专门写bug  阅读(101)  评论(0)    收藏  举报