Die rekursive PHP-Funktion ist ein unverzichtbarer Bestandteil unserer tatsächlichen Entwicklung. Für Programmierer hat die rekursive PHP-Funktion einen hohen Nutzen und kann viele Probleme lösen. Hier sind Verwendung Beispiele für rekursive PHP-Funktionen!
In diesem Artikel werden hauptsächlich Beispiele für die Verwendung der PHP-Rekursion (rekursive PHP-Funktion) vorgestellt, einschließlich des rekursiven Abrufens der Rollen-ID Zeichenfolge , des rekursiven Abrufens des Kaskadenrolleninformationsarrays und des Abrufens der übergeordneten ID Rolle Informationen zu Unterrollen finden Freunde, die diese benötigen, unter
//递归获得角色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(); }
PHPs rekursive Funktionsverwendung
Eine Funktion, die sich selbst innerhalb ihres Funktionskörpers aufruft, wird a genannt rekursiver Aufruf. Diese Art von Funktion wird als rekursive Funktion bezeichnet. Dies hat normalerweise einen hohen praktischen Wert für Programmierer und wird häufig verwendet, um komplexe Probleme in einfache und identische Situationen zu zerlegen und dies wiederholt zu tun, bis das Problem gelöst ist.
Der Unterschied zwischen der Verwendung rekursiver Funktionen und der Nichtverwendung rekursiver Funktionen
Beispiel 1: Verwendung statischer Variablen
function test(){ static $dig=0; if($dig++<10){ echo $dig; test(); } } test();//12345678910
Beispiel 2: Die Verwendung von Rekursionsfunktionen und Schleifen realisiert die umgekehrte Anordnung von Zeichenfolgen
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
Rekursive Funktionen können häufig durch Schleifen ersetzt werden. Es wird empfohlen, sie zu verwenden, wenn wir sie nicht durch Schleifen ersetzen können, da dies einfacher zu verstehen und weniger anfällig ist zu Fehlern mit Schleifen.
php rekursive Funktion PHP bezahlt rekursive Funktionen, die sich selbst aufrufen. Diese Funktionen eignen sich besonders zum Durchsuchen dynamischer Datenstrukturen wie Bäume und Listen.
Fast keine Webanwendungen erfordern die Verwendung komplexer Datenstrukturen
<?php function reversr_r($str) { if (strlen($str)>0) reverse_r(substr($str,1)); echo substr($str,0,1); return; } ?> <?php function reverse_i($str) { for($i=1;$i<=strlen($str);$i++) { echo substr($str,-$i,1); } }
Diese Programmauflistung implementiert zwei Funktionen, die beide den Inhalt einer Zeichenfolge in umgekehrter Reihenfolge drucken können
Funktion reversr_r ist implementiert durch Rekursion, während die Funktion reverse_i() durch Schleifen implementiert wird
Zusammenfassung:
Dieser Artikel verwendet zwei Beispiele für die rekursive Verwendung von PHP Durch diesen Artikel können Freunde ein umfassendes Verständnis der rekursiven PHP-Funktionen erlangen!
Verwandte Empfehlungen:
Was ist die rekursive PHP-Funktion und einfache Beispielerklärung
Wie nutzt man die rekursive PHP-Funktion effektiv? Typische Beispiele für rekursive PHP-Funktionen
Kennen Sie die Vorsichtsmaßnahmen für die Verwendung von Return in rekursiven PHP-Funktionen
?Das obige ist der detaillierte Inhalt vonBeispiel für die Verwendung einer rekursiven PHP-Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!