亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

PHP實現重載的常用方法實例詳解

2024-05-05 00:00:35
字體:
來源:轉載
供稿:網友

本文實例講述了PHP實現重載的常用方法。分享給大家供大家參考,具體如下:

php是弱類型語言,并沒有像JAVA這種強類型語言一樣有重載。

重載一般來說就是擁有相同的函數名或方法名,但是參數列表卻不同(包括參數個數和參數類型)

從這個定義來說,php是沒有重載的,因為php不允許存在相同的函數名。

但是沒有并不意味著不能實現。

php有四種機制可以實現重載:(下面用java進行對比)

1. 弱類型,無需定義變量類型

先舉一個JAVA重載的例子:

class demo{  public static void main (String[] args)  {    sum(1,1);//2    sum(1,1.5);//2.5    sum(1.5,1.5);//3.0  }  public static void sum(int var1,int var2){      System.out.println(var1+var2);  }  public static void sum(int var1,double var2){      System.out.println(var1+var2);  }  public static void sum(double var1,double var2){      System.out.println(var1+var2);  }}

上面的代碼如果用php語言實現:

<?phpfunction sum($var1,$var2){  echo $var1+$var2;}sum(1,1);//2sum(1,1.5);//2.5sum(1.5,1.5);//3?>

2. 可選參數,允許變量設置默認值

JAVA重載例子:

class demo{  public static void main (String[] args)  {    sum(1,2);//3    sum(1,2,3);//6  }  public static void sum(int var1,int var2){      System.out.println(var1+var2);  }  public static void sum(int var1,int var2,int var3){      System.out.println(var1+var2+var3);  }}

用php可選參數特性實現:

<?phpfunction sum($var1,$var2,$var3=NULL){//$var3設置默認值  echo $var1+$var2+$var3;}sum(1,2);//2sum(1,2,3);//2.5?>

可以看到同樣的功能,但是php這種弱類型語言實現起來更簡單

3. 可變參數

主要用到以下兩個函數:

func_num_args() 返回函數的參數個數
func_get_args() 返回一個包含函數參數列表的數組

具體實現方式:

<?phpclass demo{  public function method(){    $numargs = func_num_args();//獲得參數數量    $args = func_get_args();//獲得參數數組    switch ($numargs) {//通過變量個數來確定調用哪個方法      case 2:        $this->method2($args[0],$args[1]);        break;      case 3:        $this->method3($args[0],$args[1],$args[2]);        break;    }  }  private function method2($var1,$var2){    #code...  }  private function method3($var1,$var2,$var3){    #code...  }}//調用$obj = new demo();$obj->method('var1','var2');$obj->method('var1','var2','var3');//看起來似乎通過一個接口調用//但其實內部已經調用了各自定義的方法?>

4. 使用魔術方法 __call()

public mixed __call ( string $name , array $arguments )

在對象中調用一個不可訪問的方法時,__call()會被自動調用

$name參數是要調用的方法名稱 $argument參數是被調用方法的參數數組

具體實現方式類似上面的第三要點:

<?phpclass demo{  public function __call($name,$arguments){    if($name == "method"){      switch (count($arguments)) {//獲得參數數組個數        case 2:          $this->method2($args[0],$args[1]);          break;        case 3:          $this->method3($args[0],$args[1],$args[2]);          break;      }    }  }  private function method2($var1,$var2){    #code...  }  private function method3($var1,$var2,$var3){    #code...  }}//調用$obj = new demo();$obj->method("var1","var2");$obj->method("var1","var2","var3");?>

希望本文所述對大家PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久国产精品免费视频| 91视频免费在线| 欧美高清videos高潮hd| 色偷偷av一区二区三区乱| 成人在线播放av| 国产91在线高潮白浆在线观看| 亚洲大胆美女视频| 亚洲美女黄色片| 羞羞色国产精品| 国产精品91久久久久久| 成人在线中文字幕| 久久久久久久久久久人体| 国产欧美日韩免费看aⅴ视频| 日本精品va在线观看| 欧美另类极品videosbest最新版本| 欧美一级电影免费在线观看| 国内精品视频久久| 亚洲一区二区精品| 亚洲深夜福利视频| 精品av在线播放| 亚洲直播在线一区| 国产精品香蕉在线观看| 国产亚洲精品一区二555| 国产精品美女无圣光视频| 国产成人精品久久| 欧美视频免费在线| 欧美一级高清免费播放| 欧美日韩在线另类| 亚洲2020天天堂在线观看| 日韩免费高清在线观看| 欧美精品18videos性欧| 欧美日韩精品国产| 精品久久久国产| 69久久夜色精品国产69| 久久99亚洲精品| www.日韩av.com| 国产综合视频在线观看| 中文字幕日韩av| 久久99久久99精品中文字幕| 91av在线视频观看| 色在人av网站天堂精品| 国产精品国产亚洲伊人久久| 日本精品久久中文字幕佐佐木| 91情侣偷在线精品国产| 黄色精品一区二区| 色综合久久久久久中文网| 亚洲一区二区中文字幕| 欧美在线视频网| 日韩在线观看视频免费| 欧美性极品xxxx做受| 欧美肥婆姓交大片| 少妇高潮久久77777| 欧美色图在线视频| 亚洲精品资源在线| 久久久久国产精品免费网站| 国产精品美女久久久久av超清| 欧美一级片免费在线| 91精品国产高清久久久久久| 亚洲丝袜一区在线| 欧美老女人在线视频| 国产91网红主播在线观看| 亚洲国产成人av在线| 亚洲精品动漫久久久久| 欧美午夜视频在线观看| 97视频免费看| 欧美精品激情blacked18| 亚洲性线免费观看视频成熟| 亚洲成人免费在线视频| 欧美日韩国产一中文字不卡| 欧美夫妻性生活视频| 精品久久久中文| 国产剧情日韩欧美| 成人免费高清完整版在线观看| 日本成人激情视频| 欧美日韩在线另类| 精品高清美女精品国产区| 中文字幕欧美精品日韩中文字幕| 亚洲美女动态图120秒| 成人午夜小视频| 亚洲最大的av网站| 亚洲免费视频网站| 国产精品三级网站| 国产日韩精品电影| 亚洲在线视频福利| 亚洲字幕一区二区| 亚洲已满18点击进入在线看片| 精品国产一区二区三区四区在线观看| 宅男66日本亚洲欧美视频| 欧美精品久久久久久久久久| 日韩精品在线观看一区| 91视频国产精品| 尤物yw午夜国产精品视频明星| 欧美在线视频观看免费网站| 91丨九色丨国产在线| 欧美重口另类videos人妖| 日韩av片永久免费网站| 久久久久久久999精品视频| 91精品久久久久久久久久久久久久| 欧美成人在线网站| 亚洲图片在区色| 国产精品偷伦免费视频观看的| 久久影院免费观看| 亚洲综合国产精品| 在线视频日韩精品| 成人国产亚洲精品a区天堂华泰| 亚洲乱码av中文一区二区| 日韩精品www| 欧美成人自拍视频| 日韩欧美黄色动漫| 色777狠狠综合秋免鲁丝| 91精品久久久久久久久久另类| 国产成人涩涩涩视频在线观看| 亚洲午夜未满十八勿入免费观看全集| 国产日韩欧美中文| 日韩欧美中文免费| 国产精品va在线| 国产亚洲美女久久| 亚洲伊人久久大香线蕉av| 欧美日本啪啪无遮挡网站| 欧美电影免费看| 欧美精品久久久久久久免费观看| 国产精品高潮视频| 日韩免费看的电影电视剧大全| 国产精品久久久久久超碰| 色哟哟入口国产精品| 亚洲国产精品yw在线观看| 国产精品欧美日韩一区二区| 日产精品久久久一区二区福利| 欧美与欧洲交xxxx免费观看| 欧美激情啊啊啊| 国产精品成人一区二区| 疯狂做受xxxx高潮欧美日本| 成人a在线观看| 欧美日韩国产在线播放| 日本精品视频网站| 51精品国产黑色丝袜高跟鞋| 最新69国产成人精品视频免费| 国产一区私人高清影院| 国产精品成熟老女人| 亚洲国产天堂久久综合网| 国产精品白丝jk喷水视频一区| 亚洲丁香久久久| 亚洲综合日韩中文字幕v在线| 97久久超碰福利国产精品…| 4p变态网欧美系列| 亚洲国产成人精品久久| 日韩不卡在线观看| 亚洲国内高清视频| 国产成人高潮免费观看精品| 日韩精品在线观看一区| 亚洲国产小视频在线观看| www欧美日韩| 国产午夜精品一区理论片飘花| 日韩电影免费观看在线观看| 91最新国产视频| 一本一道久久a久久精品逆3p| 国产亚洲精品一区二555| 欧美日韩中文字幕综合视频| 91成人免费观看网站| 北条麻妃一区二区在线观看| 欧美日韩国产成人在线观看| 日韩av免费一区| 亚洲最大的免费| 欧美精品在线观看|