最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php遞歸函數(shù)怎么用才有效

 更新時間:2018年02月24日 14:38:06   作者:default  
這篇文章主要介紹了php遞歸函數(shù)怎么用才有效及php遞歸函數(shù)與非遞歸函數(shù)區(qū)別介紹,感興趣的朋友一起看看吧

有關(guān)php遞歸函數(shù)的用法,分享幾個php遞歸函數(shù)的例子,在php編程中,使用遞歸進行函數(shù)調(diào)用很常見,遞歸函數(shù)用的好,可以提高代碼效率,通過例子學(xué)習(xí)php遞歸函數(shù)的使用。

一、什么是遞歸函數(shù)?

一個函數(shù)在它的函數(shù)體內(nèi)調(diào)用它自身稱為遞歸調(diào)用。 這種函數(shù)稱為遞歸函數(shù)。

php遞歸函數(shù)與非遞歸函數(shù)有什么區(qū)別?

例一:使用靜態(tài)變量

代碼示例:

function test(){
 static $dig=0;
 if($dig++<10){
  echo $dig;
  test();
 }
}
test();//12345678910

例二:使用遞歸函數(shù)和循環(huán)實現(xiàn)字符串逆轉(zhuǎn)排列

代碼示例:

function unreverse($str){
 for($i=1;$i<=strlen($str);$i++){
  echo substr($str,-$i,1);
 }
}
unreverse("abcdefg");//gfedcbc
function reverse($str){
 if(strlen($str)>0){
  reverse(substr($str,1));
  echo substr($str,0,1);
  return;
 }
}
reverse("abcdefg");//gfedcbc

二、php遞歸函數(shù)使用實例

php遞歸使用示例(php遞歸函數(shù)),包括遞歸獲得角色ID字符串、遞歸獲取級聯(lián)角色信息數(shù)組、通過父角色的id獲取子角色信息。

例子:

代碼示例:

//遞歸獲得角色ID字符串
function explodeRole($roleObj, &$resultStr){
 if(0 < count($roleObj->childRoleObjArr)){
 foreach($roleObj->childRoleObjArr as $childRoleObj){
  if('' == $resultStr){
  $resultStr .= "{$childRoleObj->id}";
  }else{
  $resultStr .= ", {$childRoleObj->id}";
  }
  explodeRole($childRoleObj, $resultStr);
 }
 }
}
//遞歸獲取級聯(lián)角色信息數(shù)組
function makeRoleRelation(&$roleObjArr){
 foreach($roleObjArr as $item){
 $item->childRoleObjArr = getRoleObjArrByParentId($item->id);
 if(0 < count($item->childRoleObjArr)){
  makeRoleRelation($item->childRoleObjArr);
 }
 }
}
//通過父角色的id獲取子角色信息 
function getRoleObjArrByParentId($parentid){
 $operCOGPSTRTSysRole = new COGPSTRTSysRole();
 $operCOGPSTRTSysRole->setColumn($operCOGPSTRTSysRole->getAllColumn());
 $operCOGPSTRTSysRole->setWhere("parentroleid={$parentid}");
 $roleObjArr = $operCOGPSTRTSysRole->convResult2ObjArr($operCOGPSTRTSysRole->selectTable());
 return isset($roleObjArr)?$roleObjArr:array();
}

php遞歸函數(shù)用法

例1:使用靜態(tài)變量實現(xiàn)遞歸。

代碼示例:

function test(){
 static $dig=0;
 if($dig++<10){
 echo $dig;
 test();
 }
}
test();//12345678910

例2:使用遞歸函數(shù)和循環(huán)實現(xiàn)字符串逆轉(zhuǎn)排列。

代碼示例:

function unreverse($str){
for($i=1;$i<=strlen($str);$i++){
echo substr($str,-$i,1);
}
}
unreverse("abcdefg");
//gfedcbc
function reverse($str){
if(strlen($str)>0){
reverse(substr($str,1));
echo substr($str,0,1); return;
}
}
reverse("abcdefg");//gfedcbc

php遞歸函數(shù)有時可以循環(huán)替代,建議當(dāng)不能用循環(huán)替代時再用,因為用循環(huán)我們更容易理解,更不容易出錯。 php遞歸函數(shù) php支付遞歸函數(shù),遞歸函數(shù)就是調(diào)用自己本身,這些函數(shù)特別適用于瀏覽動態(tài)數(shù)據(jù)結(jié)構(gòu),例如樹和列表。 幾乎沒有web應(yīng)用程序要求使用復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。

例子:

代碼示例:

reverse_r(substr($str,1)); echo substr($str,0,1); return; } ?>

這個程序清單中實現(xiàn)兩個函數(shù),這兩個函數(shù)都可以相反的順序打印字符串的內(nèi)容 函數(shù)reversr_r是通過遞歸實現(xiàn)的,而函數(shù)reverse_i()是通過循環(huán)實現(xiàn)的。

總結(jié)

以上所述是小編給大家介紹的php遞歸函數(shù)怎么用才有效,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • PHP四舍五入、取整、round函數(shù)使用示例

    PHP四舍五入、取整、round函數(shù)使用示例

    這篇文章主要介紹了PHP四舍五入、取整、round函數(shù)使用示例,需要的朋友可以參考下
    2015-02-02
  • PHP實現(xiàn)微信對賬單處理

    PHP實現(xiàn)微信對賬單處理

    這篇文章主要為大家詳細(xì)介紹了PHP實現(xiàn)微信對賬單處理,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • php的sprintf函數(shù)的用法 控制浮點數(shù)格式

    php的sprintf函數(shù)的用法 控制浮點數(shù)格式

    這篇文章主要介紹了php的sprintf函數(shù)的用法,需要的朋友可以參考下
    2014-02-02
  • php+ajax+h5實現(xiàn)圖片上傳功能

    php+ajax+h5實現(xiàn)圖片上傳功能

    這篇文章主要為大家詳細(xì)介紹了php+ajax+h5實現(xiàn)ajax圖片上傳功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • PHP時間和日期函數(shù)詳解

    PHP時間和日期函數(shù)詳解

    php函數(shù)的多樣化和功能相近真是一大特點,同一個應(yīng)用可以用多種函數(shù)實現(xiàn),這恐怕也是開源的一個弊端了;通過對PHP時間函數(shù)的系統(tǒng)學(xué)習(xí),充分理解了時間戳和時區(qū)的概念(這個真的很重要),有需要的小伙伴可以參考下。
    2015-05-05
  • php制作文本式留言板

    php制作文本式留言板

    本文給大家分享的是使用php結(jié)合文本文件制作的留言板的代碼,非常簡單,實現(xiàn)了常用的功能,推薦給大家,有需要的小伙伴參考下吧。
    2015-03-03
  • php四種基礎(chǔ)算法代碼實例

    php四種基礎(chǔ)算法代碼實例

    算法是程序的核心,今天我們就學(xué)習(xí)一下php的四種基礎(chǔ)算法:冒泡,選擇,插入和快速排序法。
    2013-10-10
  • PHP中使用CURL發(fā)送get/post請求上傳圖片批處理功能

    PHP中使用CURL發(fā)送get/post請求上傳圖片批處理功能

    這篇文章主要介紹了PHP中使用CURL發(fā)送get/post請求上傳圖片批處理 功能,本文通過實例代碼給大家介紹的非常詳細(xì),非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-10-10
  • PHP 記錄訪客的瀏覽信息方法

    PHP 記錄訪客的瀏覽信息方法

    下面小編就為大家分享一篇PHP 記錄訪客的瀏覽信息方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • Laravel 對某一列進行篩選然后求和sum()的例子

    Laravel 對某一列進行篩選然后求和sum()的例子

    今天小編就為大家分享一篇Laravel 對某一列進行篩選然后求和sum()的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10

最新評論

铜鼓县| 满城县| 和林格尔县| 临邑县| 宿松县| 即墨市| 鸡东县| 策勒县| 湘潭市| 迁安市| 濮阳县| 铜陵市| 丰原市| 绥宁县| 唐山市| 东阿县| 昭平县| 麻阳| 鱼台县| 鄂州市| 綦江县| 永胜县| 建宁县| 淮安市| 张家界市| 铁力市| 苗栗市| 康保县| 银川市| 千阳县| 中江县| 广饶县| 永泰县| 祁连县| 菏泽市| 广昌县| 汉沽区| 丹凤县| 平乐县| 白城市| 阿坝县|