中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php函數重載的替代方法是什么

發布時間:2021-07-01 09:07:17 來源:億速云 閱讀:159 作者:chen 欄目:開發技術

這篇文章主要介紹“php函數重載的替代方法是什么”,在日常操作中,相信很多人在php函數重載的替代方法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”php函數重載的替代方法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

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

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

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

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

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

function test () {
 $argNum  =  func_num_args ();
  // 這一段其實可以用 $_arg = func_get_args() 來獲得所有的參數,只是要用數組而已,不方便我下面的表達,呵呵
 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 ( ' 這是沒有參數的情況 ' );
   break ;
 }
}
test();
echo ( ' ' );
test( 1 );
echo ( ' ' );
test( 1 , 2 );
echo ( ' ' );
test( 1 , 2 , 3 );

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

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 ;
 }
}
?>

到此,關于“php函數重載的替代方法是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

遂川县| 安塞县| 曲周县| 墨脱县| 遵义县| 孝昌县| 建德市| 灵石县| 泸定县| 于都县| 吴旗县| 北京市| 南乐县| 哈密市| 新安县| 会宁县| 高安市| 黄石市| 道孚县| 延长县| 长治县| 赤城县| 大港区| 石楼县| 富锦市| 广昌县| 建德市| 托克托县| 乌兰浩特市| 获嘉县| 鹿邑县| 沛县| 堆龙德庆县| 屯昌县| 临朐县| 芮城县| 柳江县| 阿坝| 宝清县| 宝兴县| 涞水县|