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

php函數(shù)重載的替代方法--偽重載詳解

 更新時間:2015年05月08日 11:25:58   投稿:hebedich  
對于弱類型語言來說,PHP函數(shù)重載,并不像一般的OOP那樣。而弱類型本來就不區(qū)分,所以無法通過這些來實現(xiàn)。但是,可以通過下面的方法來實現(xiàn)簡單的偽重載吧。

函數(shù)重載的替代方法-偽重載,下面看一個具體的實例代碼。

<? php
//函數(shù)重載的替代方法-偽重載
//
//確實,在PHP中沒有函數(shù)重載這個概念,讓很多時候我們無法進行一些處理,甚至有時候不得不在函數(shù)后面定義好N個參數(shù)
//在看到了func_get_arg,func_get_args,func_num_args,這三個函數(shù)的時候,你們是不是想起了什么?

function testOne ( $a ) {
 echo (' 一個參數(shù)就這樣 ');
}

function testTwo ( $a ,  $b ){
 echo (' 兩個參數(shù)的就這樣 ');
}

function testThree ($a,  $b,  $c ) {
 echo (' 黑黑,這是三個參數(shù)的 ');
}

function test () {
 $argNum  =  func_num_args ();
  // 這一段其實可以用 $_arg = func_get_args() 來獲得所有的參數(shù),只是要用數(shù)組而已,不方便我下面的表達,呵呵
 for ( $i  =  0 ; $i  <  $argNum ; $i ++ ) {
  $_arg_ { $i } =  func_get_arg ( $i );
 }
 switch ( $argNum ) {
  case  1 :
   testOne( $_arg_1 );
   break ;
  case  2 :
   testTwo( $_arg_1,  $_arg_2 );
   break ;
  case  3 :
   testThree( $_arg_1,  $_arg_2,  $_arg_3 );
   break ;
  default :
   echo ( ' 這是沒有參數(shù)的情況 ' );
   break ;
 }
}
test();
echo ( ' ' );
test( 1 );
echo ( ' ' );
test( 1 , 2 );
echo ( ' ' );
test( 1 , 2 , 3 );

// 這些只是在函數(shù)中的運用,其實最主要的還是在類中的運用
//如果這些用到類里面我就不需要擔心構(gòu)造函數(shù)是否有幾個參數(shù)了,不是嗎?

class test {
 var  $a  =  0 ;
 var  $b  =  0 ;

 function test () {
  $argNum  =  func_num_args ();
  $_arg  =  func_get_args ();
  switch ($argNum ) {
   case  1 :
   $this -> test1( $_arg [ 0 ] );
   break ;
  case  2 :
   $this -> test2( $_arg [ 0 ] ,  $_arg [ 1 ]);
   break ;
  default :
   $this -> a = 0 ;
   $this -> b = 1 ;
   break ;
  }
 }

 function test1 ($a) {
  $this -> a =  $a ;
 }

 function test2 ($a,  $b) {
  $this -> a =  $a ;
  $this -> b =  $b ;
 }
}
?>

以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。

相關(guān)文章

  • Thinkphp5文件包含漏洞解析

    Thinkphp5文件包含漏洞解析

    這篇文章主要為大家介紹了Thinkphp5文件包含漏洞解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • PHP array_reduce()函數(shù)的應(yīng)用解析

    PHP array_reduce()函數(shù)的應(yīng)用解析

    這篇文章主要介紹了PHP array_reduce()的應(yīng)用,本文通過代碼舉例給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-10-10
  • Laravel5中實現(xiàn)模糊匹配加多條件查詢功能的方法

    Laravel5中實現(xiàn)模糊匹配加多條件查詢功能的方法

    這篇文章主要介紹了Laravel5中實現(xiàn)模糊匹配加多條件查詢功能的方法,結(jié)合實例形式分析了Laravel5多條件模糊查詢及相關(guān)封裝操作技巧,需要的朋友可以參考下
    2018-03-03
  • 淺談php中變量的數(shù)據(jù)類型判斷函數(shù)

    淺談php中變量的數(shù)據(jù)類型判斷函數(shù)

    下面小編就為大家?guī)硪黄獪\談php中變量的數(shù)據(jù)類型判斷函數(shù)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • thinkphp 3.2框架視圖模型 實例視圖查詢結(jié)果的二維數(shù)組合并操作示例

    thinkphp 3.2框架視圖模型 實例視圖查詢結(jié)果的二維數(shù)組合并操作示例

    這篇文章主要介紹了thinkphp 3.2框架視圖模型 實例視圖查詢結(jié)果的二維數(shù)組合并操作,結(jié)合實例形式分析了thinkPHP3.2針對視圖查詢結(jié)果的數(shù)組合并相關(guān)操作技巧,需要的朋友可以參考下
    2020-03-03
  • ThinkPHP分頁類使用詳解

    ThinkPHP分頁類使用詳解

    當網(wǎng)站的留言內(nèi)容越來越多的時候,分頁功能的應(yīng)用就應(yīng)運而生了,本文我們就來重點講解下ThinkPHP框架自帶的分頁類的調(diào)用
    2014-03-03
  • Yii實現(xiàn)的多級聯(lián)動下拉菜單

    Yii實現(xiàn)的多級聯(lián)動下拉菜單

    這篇文章主要介紹了Yii實現(xiàn)的多級聯(lián)動下拉菜單,包括視圖、模型及控制器的相關(guān)實現(xiàn)代碼,涉及基于Yii的數(shù)據(jù)庫查詢、數(shù)組遍歷與數(shù)據(jù)顯示等相關(guān)操作技巧,需要的朋友可以參考下
    2016-07-07
  • Laravel中注冊Facades的步驟詳解

    Laravel中注冊Facades的步驟詳解

    這篇文章主要介紹了Laravel中注冊Facades的步驟,詳細分析了Laravel中注冊Facades的原理,實現(xiàn)方法與相關(guān)注意事項,需要的朋友可以參考下
    2016-03-03
  • PHP實現(xiàn)的多彩標簽效果代碼分享

    PHP實現(xiàn)的多彩標簽效果代碼分享

    這篇文章主要介紹了PHP實現(xiàn)的多彩標簽效果代碼分享,經(jīng)??梢钥吹揭恍┎┛椭械臉撕?TAGS)頁面是彩色的效果展現(xiàn),本文就給出了實現(xiàn)這個功能的PHP代碼,需要的朋友可以參考下
    2014-08-08
  • yii去掉必填項中星號的方法

    yii去掉必填項中星號的方法

    這篇文章主要介紹了yii去掉必填項中星號的方法,實例分析了Yii中去除必填項中星號的原理與具體實現(xiàn)技巧,需要的朋友可以參考下
    2015-12-12

最新評論