亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

惠安县| 壶关县| 英吉沙县| 青龙| 平潭县| 辽中县| 葵青区| 渭南市| 嘉峪关市| 和田市| 镇原县| 揭东县| 泉州市| 杂多县| 岱山县| 郁南县| 芷江| 如皋市| 黔东| 汉沽区| 土默特右旗| 田林县| 元阳县| 宝坻区| 天峻县| 永善县| 白银市| 嘉义市| 绵阳市| 大渡口区| 黔江区| 文昌市| 耒阳市| 繁昌县| 且末县| 潞西市| 张家界市| 南昌县| 射阳县| 镇坪县| 泰宁县|