PHP可以有重寫(覆寫)方法,但卻沒有重載方法,如果我們需要“重載”這樣的功能,怎麼辦呢?
重載方法是函數名一樣,函數類型,參數個數,參數類型不完全一樣的方法。
利用func_get_args()函數可以實作“重載”功能,請看如下代碼:
<?php
class calculate{
public function overload(){
$arr = func_get_args();
$count = count(func_get_args());
switch($count){
case 1:
echo ($arr[0] * 3.14);
break;
case 2:
echo ($arr[0] * $arr[1]);
break;
}
}
}
$ob = new calculate();
$ob->overload(2); echo '<br/>';
$ob->overload(2,3);
?>
運作結果:
6.28
6
【歸納總結】func_get_args()能将傳進來的參數轉化為數組,通過數組的操作巧妙實作“重載”功能。