婷婷综合国产,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遞歸函數怎么用才有效的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 穆棱市| 锡林郭勒盟| 河间市| 承德县| 天水市| 安庆市| 孝昌县| 马鞍山市| 绥芬河市| 山东| 威信县| 漯河市| 正镶白旗| 瓦房店市| 滦平县| 襄樊市| 涞水县| 临湘市| 若羌县| 东港市| 岳阳县| 盐源县| 固安县| 政和县| 宜都市| 寿宁县| 伊通| 太仓市| 蕉岭县| 湘阴县| 米泉市| 夏津县| 托里县| 平原县| 屯昌县| 越西县| 庆阳市| 平武县| 鄯善县| 泸溪县| 宁海县|