天天看點

PHP的“重載方法”

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()能将傳進來的參數轉化為數組,通過數組的操作巧妙實作“重載”功能。