常使用Js中的變參函數,覺得使用起來甚是方便。突然想到PHP中是否也能夠實現相關的功能呢?
找度娘問了問,度娘告訴我這個想法是可行的。也就是在搜尋的過程中,func_get_arg 和 func_get_args 兩個函數進入了我的眼簾。這兩個函數以前倒是接觸過,大致知道有這麼東西,不過當時因為沒有這方面的需求,也沒有這方面的考慮,所以沒有對兩個函數的用法做深入了解。
func_get_arg 這個函數的作用是取得一個函數中指定的參數值。語法格式為:func_get_arg(arg_num),其中的 arg_num 指的是參數的數字索引。程式的世界裡,第一個數字不是1,而是0,這個相信不必多說。
func_get_args這個函數的作用是取得一個函數中的所有參數值,以陣列的方式回傳。此函數無需傳遞參數。這個函數則是實現變參函數的關鍵。
透過在一個函數中使用func_get_args這個函數取得到該函數的所有參數,再對這些參數作一定的邏輯處理,也就是根據參數的不同,進行不同的邏輯操作,也實現了我們需要的變參函數了。
還有個函數為:func_num_args,這個函數的作用是傳回所在函數中的參數的個數,使用這個函數結合著前面提到的函數,可以更方便地實現我們需要的功能。
具體的例子Hy369就不在博客中提供了(其實這是在為自己的懶找藉口),明白了原理,實現變參函數應該沒有什麼問題了,畢竟我們都是傳說中的攻城獅不是,哈哈。
以上就是筆記011 PHP變參函數的實現的內容,更多相關內容請關注PHP中文網(www.php.cn)!