相信很多初学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:xueposter@gmail.com