PHP递归地使用示例(PHP递归函数)

获取id /递归字符串的角色
功能exploderole(roleobj美元,美元resultstr){
如果(0 childroleobjarr)){
foreach($ roleobj -> childroleobjarr达childroleobj){
如果(= = $ resultstr){
resultstr美元={ $ childroleobj -> ID };
其他{ }
resultstr美元,{ $ childroleobj ->身份证}。;
}
exploderole(childroleobj美元,美元resultstr);
}
}
}

获取递归角色信息数组级联
功能makerolerelation($ roleobjarr){
foreach(roleobjarr美元美元项目){
$项-> childroleobjarr = getroleobjarrbyparentid($项-> ID);
如果(0 childroleobjarr)){
makerolerelation($项-> childroleobjarr);
}
}
}

通过父ID的角色获取子角色信息
功能getroleobjarrbyparentid($ ParentID){
opercogpstrtsysrole美元=新cogpstrtsysrole();
opercogpstrtsysrole -> setcolumn美元(美元opercogpstrtsysrole -> getallcolumn());
opercogpstrtsysrole美元-> setwhere(parentroleid = { $ ParentID } );
roleobjarr美元=美元opercogpstrtsysrole -> convresult2objarr($ opercogpstrtsysrole -> selecttable());
返回isset(roleobjarr美元美元)roleobjarr:阵列();
}




PHP递归函数的使用

函数在函数体中被称为递归函数,这个函数称为递归函数,这对于程序员来说通常具有很高的实用价值,通常用于将复杂的问题分解成简单而相同的情况,并反复执行直到问题得到解决。

递归函数与非递归函数的区别

示例1:使用静态变量


函数测试(){
静态$ = 0;
如果($ + + < 10){
回声挖掘;
测试();
}
}
测试();12345678910


例二:使用递归函数和循环实现字符串反转安排


功能不可逆($str){
为($我= 1;$i <= strlen(str);$ i++){
回声substr($str,至我,1);
}
}
一个不可逆转的(真); / / gfedcbc

函数反转($ STR){
如果(strlen(str)> 0){
反向(substr($str,1));
回声substr($str,0,1);
返回;
}
}
反向(真); / / gfedcbc



递归函数可以在许多情况下被替换。有人建议,当我们不能使用循环代替,我们更容易理解和犯错。

PHP递归函数PHP支付递归函数,递归函数调用自己。这些函数特别适合浏览动态数据结构,如树和列表。

几乎没有Web应用程序需要使用复杂的数据结构。


< PHP
功能reversr_r($str)
{
如果(strlen(str)> 0)
reverse_r(substr($str,1));
回声substr($str,0,1);
返回;
}
>

< PHP
功能reverse_i($str)
{
为($我= 1;$i <= strlen(str);$我+ +)
{
回声substr($str,至我,1);
}
}


这两个函数在程序列表中实现,这两个函数可以以相反的顺序打印字符串的内容。

功能reversr_r递归方式实现,和功能reverse_i()通过回路实现