QQ 1640076782

2014年01月20日

PHP 递归函数

Filed under: phper — 标签:, — liphp @ 3:32 上午

相信很多初学PHP的程序员都会有些困扰、比如PHP的递归函数到底是这个什么原理啊、怎么实现。如果正确运用。本人在做项目的时候也遇到这个递归函数的使用。下面说说用法.

递归其实就是 “一个函数的直接或者间接自调用” 在这个”自调用”的过程中必须要有一个变化的 参数、这个参数在你期望得到那个值的时候终止、然后返回的过程

下面用代码解释一下

比如说 如何从a.ab.abc.abcd.abcdef.php中获取php这个后缀呢?当然有很多方法实现。

递归实现:

function getphp($str) { //定义一个方法 (或者说是函数)并且写入一个变量
$post=strpos($str,”.”); //获取第一个 ” . ” 出现的位置
if($post!=false) //如果出现这个你查找的字符串
{
$ect=getphp(substr($str,$post+1)); //执行、截取到他+1的位置(查找的目标 ” . ” 后面的字符串)、此处并不满足条件 所以返回到这个函数的开始位置 也就是说他会继续查找这个字符串第一次出现的位置、当然这个时候$stre的值已经不是你传入的值了、他是截取之后的值 也就是(ab.abc.abcd.abcdef.php)、一直循环操作这个函数、知道$post函数为false为止(字符串中不存在 ” . “)
} else $ect=$str;  //赋值给$ect 当然这个地方如果直接返回也是正确的( return $str )
return $ect; //字符串中没有查找到 ” . ” 那么就直接返回这个$file_name
}

$a=”a.ab.abc.abcd.abcdef.php”;

echo getphp($a);

怎么样打击这样理解起来是不是明白一些了呢!

如果你有外贸企业网站建站需求,欢迎随时联系我们

QQ客服:415682727

电话:020-39907297 

MSN:[email protected]