欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP利用func_get_args和func_num_args函數(shù)實(shí)現(xiàn)函數(shù)重載實(shí)例

 更新時間:2014年11月12日 15:09:31   投稿:shichen2014  
這篇文章主要介紹了PHP利用func_get_args和func_num_args函數(shù)實(shí)現(xiàn)函數(shù)重載的方法,實(shí)例展示了PHP實(shí)現(xiàn)重載的具體方法,是非常實(shí)用的技巧,需要的朋友可以參考下

本文實(shí)例講述了PHP利用func_get_args和func_num_args函數(shù)實(shí)現(xiàn)函數(shù)重載的方法。分享給大家供大家參考。具體方法分析如下:

學(xué)習(xí)php的朋友都知道php本身是沒有函數(shù)重載這一說的,更沒說像java,c那樣使用方法,但如果我們深入了解一下會發(fā)現(xiàn)可以在php中使用func_get_args()和func_num_args()函數(shù)實(shí)現(xiàn)函數(shù)重載,下面來舉兩個函數(shù)重載例子.這兩個函數(shù)實(shí)現(xiàn)函數(shù)的重載.

1、默認(rèn)參數(shù),如果一個函數(shù)里面,這不是必須參數(shù),而添加相應(yīng)的默認(rèn)值,就可以完成相應(yīng)的功能,代碼如下:

復(fù)制代碼 代碼如下:
function overloadFun($param1, $param2 = '1',$param3 = true) 

 // do something  
}

利用函數(shù)func_get_args()和call_user_func_array(),PHP代碼如下:
復(fù)制代碼 代碼如下:
function rewrite() {    
$args = func_get_args();    
if(func_num_args() == 1) {    
func1($args[0]);    
} else if(func_num_args() == 2) {    
func2($args[0], $args[1]);    
}    
}    
   
function func1($arg) {    
echo $arg;    
}    
   
function func2($arg1, $arg2) {    
echo $arg1, ' ', $arg2;    
}    
   
rewrite('PHP'); //調(diào)用func1    
rewrite('PHP','China'); //調(diào)用func2

2、使用默認(rèn)值,從而根據(jù)輸入,得到自己想要的結(jié)果,代碼如下:
復(fù)制代碼 代碼如下:
function test($name="小李",$age="23"){   
echo $name."  ".$age;   
}   
test();   
echo "<br/>";   
test("a");   
echo "<br/>";   
test("a","b");

3、利用__call($name, $arg) 函數(shù)進(jìn)行處理,代碼如下:
復(fù)制代碼 代碼如下:
<?php 
class OverLoad{ 
function __call($name, $args) 

  if($name=='overloadFun') 
  { 
   switch(count($args)) 
   { 
    case 0: $this->overloadFun0();break; 
    case 1: $this->overloadFun1($args[0]); break; 
    case 2: $this->overloadFun2($args[0], $args[1]); break; 
    default: //do something 
      break; 
   } 
  } 

    
function overloadFun0() 

  echo 0; 

function overloadFun1($var1) 

  echo $var1; 

function overloadFun2($var1,$var2) 

   
  echo $var1+$var2; 
   } 
}   
$test=new OverLoad(); 
$test->overloadFun()."<br />".  
$test->overloadFun(1)."<br />".  
$test->overloadFun(1,2)."<br />"; 
?>


有了這樣的方法之后我們就可以利用它們來實(shí)現(xiàn)簡單函數(shù)重載了,但有一點(diǎn)要注明的是php 作為一種弱類型語言,本身不能像強(qiáng)類型如java,c++那樣,直接的實(shí)現(xiàn)重載,至少現(xiàn)在不可以以后版本會不會有我們不知道.

希望本文所述對大家的PHP程序設(shè)計有所幫助。

相關(guān)文章

  • php面象對象數(shù)據(jù)庫操作類實(shí)例

    php面象對象數(shù)據(jù)庫操作類實(shí)例

    這篇文章主要介紹了php面象對象數(shù)據(jù)庫操作類,以實(shí)例形式講述了通過面向?qū)ο蠓庋b數(shù)據(jù)庫操作的技巧,非常具有實(shí)用價值,需要的朋友可以參考下
    2014-12-12
  • PHP實(shí)現(xiàn)簡單搜歌的方法

    PHP實(shí)現(xiàn)簡單搜歌的方法

    這篇文章主要介紹了PHP實(shí)現(xiàn)簡單搜歌的方法,實(shí)例分析了php通過新浪樂庫搜索接口查詢歌曲的功能,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • php自定義函數(shù)截取漢字長度

    php自定義函數(shù)截取漢字長度

    php中截取漢字長度的方法有很多,本例通過自定義函數(shù)來完成這個需求,感興趣的朋友可以參考下
    2014-05-05
  • php動態(tài)函數(shù)調(diào)用方法

    php動態(tài)函數(shù)調(diào)用方法

    本文主要給大家介紹了php中動態(tài)調(diào)用函數(shù)的方法,實(shí)例分析了php動態(tài)函數(shù)的實(shí)現(xiàn)原理與具體實(shí)現(xiàn)步驟,需要的朋友可以參考下
    2015-05-05
  • 微信公眾號點(diǎn)擊菜單即可打開并登錄微站的實(shí)現(xiàn)方法

    微信公眾號點(diǎn)擊菜單即可打開并登錄微站的實(shí)現(xiàn)方法

    這篇文章主要介紹了微信公眾號點(diǎn)擊菜單即可打開并登錄微站的實(shí)現(xiàn)方法,以實(shí)例形式對回調(diào)、菜單及參數(shù)的處理等具體實(shí)現(xiàn)步驟與功能代碼都做了較為詳細(xì)的描述,對于微信公眾號的開發(fā)來說具有很好的參考借鑒價值,需要的朋友可以參考下
    2014-11-11
  • 在php中生成xml數(shù)據(jù)的三種方法

    在php中生成xml數(shù)據(jù)的三種方法

    這篇文章主要給大家介紹了在php中生成xml數(shù)據(jù)的三種方法,文章通過代碼示例給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-11-11
  • php使用socket post數(shù)據(jù)到其它web服務(wù)器的方法

    php使用socket post數(shù)據(jù)到其它web服務(wù)器的方法

    這篇文章主要介紹了php使用socket post數(shù)據(jù)到其它web服務(wù)器的方法,涉及php使用socket傳輸數(shù)據(jù)的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • PHP微框架Dispatch簡介

    PHP微框架Dispatch簡介

    Dispatch是一個PHP小框架,可以合并Dispatch和其他框架,開發(fā)出相當(dāng)強(qiáng)大并且輕量級的程序,需要的朋友可以參考下
    2014-06-06
  • php 函數(shù)中靜態(tài)變量使用的問題實(shí)例分析

    php 函數(shù)中靜態(tài)變量使用的問題實(shí)例分析

    這篇文章主要介紹了php 函數(shù)中靜態(tài)變量使用的問題,結(jié)合實(shí)例形式分析了php 函數(shù)中靜態(tài)變量使用過程中遇到的問題,以及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2020-03-03
  • PHP數(shù)組遞歸排序?qū)崿F(xiàn)方法示例

    PHP數(shù)組遞歸排序?qū)崿F(xiàn)方法示例

    這篇文章主要介紹了PHP數(shù)組遞歸排序?qū)崿F(xiàn)方法,結(jié)合實(shí)例形式分析了php基于遞歸算法針對特定key對數(shù)組進(jìn)行排序的相關(guān)操作技巧,需要的朋友可以參考下
    2018-03-03

最新評論