婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > php遞歸函數怎么用才有效

php遞歸函數怎么用才有效

熱門標簽:400電話辦理福州市 電話機器人危險嗎 江蘇外呼電銷機器人報價 離石地圖標注 專業電話機器人批發商 長沙crm外呼系統業務 深圳外呼系統收費 400電話申請方法收費 南寧高頻外呼回撥系統哪家好

有關php遞歸函數的用法,分享幾個php遞歸函數的例子,在php編程中,使用遞歸進行函數調用很常見,遞歸函數用的好,可以提高代碼效率,通過例子學習php遞歸函數的使用。

一、什么是遞歸函數?

一個函數在它的函數體內調用它自身稱為遞歸調用。 這種函數稱為遞歸函數。

php遞歸函數與非遞歸函數有什么區別?

例一:使用靜態變量

代碼示例:

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

例二:使用遞歸函數和循環實現字符串逆轉排列

代碼示例:

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遞歸函數使用實例

php遞歸使用示例(php遞歸函數),包括遞歸獲得角色ID字符串、遞歸獲取級聯角色信息數組、通過父角色的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);
 }
 }
}
//遞歸獲取級聯角色信息數組
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遞歸函數用法

例1:使用靜態變量實現遞歸。

代碼示例:

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

例2:使用遞歸函數和循環實現字符串逆轉排列。

代碼示例:

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遞歸函數有時可以循環替代,建議當不能用循環替代時再用,因為用循環我們更容易理解,更不容易出錯。 php遞歸函數 php支付遞歸函數,遞歸函數就是調用自己本身,這些函數特別適用于瀏覽動態數據結構,例如樹和列表。 幾乎沒有web應用程序要求使用復雜的數據結構。

例子:

代碼示例:

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

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

總結

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

您可能感興趣的文章:
  • php遞歸函數三種實現方法及如何實現數字累加
  • php使用遞歸函數實現數字累加的方法
  • php遞歸使用示例(php遞歸函數)
  • php遞歸函數中使用return的注意事項
  • 淺析PHP遞歸函數返回值使用方法

標簽:曲靖 白酒營銷 興安盟 南京 太原 株洲 濱州 南昌

巨人網絡通訊聲明:本文標題《php遞歸函數怎么用才有效》,本文關鍵詞  php,遞歸,函數,怎么,用,才,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《php遞歸函數怎么用才有效》相關的同類信息!
  • 本頁收集關于php遞歸函數怎么用才有效的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 四子王旗| 新乡市| 来宾市| 汤阴县| 河北省| 乌拉特中旗| 孟州市| 分宜县| 阳高县| 东明县| 金湖县| 巨野县| 阿坝县| 商丘市| 苏州市| 梨树县| 永吉县| 穆棱市| 阿瓦提县| 阿鲁科尔沁旗| 横山县| 乌鲁木齐市| 英超| 彰化市| 义乌市| 和林格尔县| 灵璧县| 温州市| 从化市| 甘南县| 台湾省| 清水县| 宁明县| 积石山| 凤城市| 左云县| 扬州市| 拜泉县| 山丹县| 紫阳县| 浦县|