位置:首页 > CMS教程 > cms教程汇总

PHP中递归函数返回值使用介绍(ecshop无限分类)(php递归函数1加到100)

发布时间:2023-04-07 01:25:53

文章来源:快乐收录网

访问次数:

 

一款以ecshop无限分类为实例来介绍一下php中的递归函数返回值的问题介绍。

在 ecshop 二次开发中做产品分类索引时,要根据分类 id 取得所属顶级分类 id 。第一个反应就是用递归递出来,于是写了递归函数如下:IOO快乐收录网

 代码如下 复制代码

function getCatTopId($cat_id)IOO快乐收录网

{IOO快乐收录网

    if ($cat_id)IOO快乐收录网

    {IOO快乐收录网

        $res = Array();IOO快乐收录网

$sql = SELECT cat_id, parent_idIOO快乐收录网

             . FROM . $GLOBALS[ecs]->table(category) IOO快乐收录网

             . WHERE cat_id = . $cat_id . AND is_show = 1;

$res = $GLOBALS[db]->getAll($sql);IOO快乐收录网

        if ($res[0][parent_id] > 0)IOO快乐收录网

        {IOO快乐收录网

            getCatTopId($res[0][parent_id]);IOO快乐收录网

        }IOO快乐收录网

        elseIOO快乐收录网

        {IOO快乐收录网

return $res[0][cat_id];IOO快乐收录网

        }IOO快乐收录网

    }IOO快乐收录网

    elseIOO快乐收录网

    {IOO快乐收录网

        return 1;IOO快乐收录网

    }IOO快乐收录网

}

一测试程序,没有得到返回值?检查了很久都没有发现错误,看来脑壳断路了。今天问水神(一好心网友)时,他帮我解答出来了,修改如下:IOO快乐收录网

 代码如下 复制代码

function getCatTopId($cat_id)IOO快乐收录网

{IOO快乐收录网

    if ($cat_id)IOO快乐收录网

    {IOO快乐收录网

        $res = Array();

$sql = SELECT cat_id, parent_idIOO快乐收录网

             . FROM . $GLOBALS[ecs]->table(category) IOO快乐收录网

             . WHERE cat_id = . $cat_id . AND is_show = 1;

$res = $GLOBALS[db]->getAll($sql);IOO快乐收录网

        if ($res[0][parent_id] > 0)IOO快乐收录网

        {IOO快乐收录网

return getCatTopId($res[0][parent_id]); // 修改处,多写个 return ,让函数返回值IOO快乐收录网

        }IOO快乐收录网

        elseIOO快乐收录网

        {IOO快乐收录网

            return $res[0][cat_id];IOO快乐收录网

        }    }IOO快乐收录网

    elseIOO快乐收录网

    {IOO快乐收录网

        return 1;IOO快乐收录网

    }IOO快乐收录网

}

函数写在内部,就算返回了,也只是返回到内部的那个函数的位置,所以外面还有一层主函数,必须再 return 一下IOO快乐收录网

文章介绍了利用php正则表达式提取图片地址 超链接 标题 实现代码,有需要的朋友可参考一下。

正则表达式提取网址中的idIOO快乐收录网

代码如下 复制代码 preg_match(/http://t.sina.com.cn/(d+)/fans//,$html,$result); 正则表达式提取网址中的idIOO快乐收录网

echo $result[1];

PHP的正则表达式提取图片地址的代码。IOO快乐收录网

代码如下 复制代码 $str=<p style="padding: 0px; margin-top: 0px; margin-bottom: 0px; line-height: 200%;"><img border="0"" width=100% src="upfiles/2009/07/1246430143_4.jpg" alt=""/></p><p style="padding: 0px; margin-top: 0px; margin-bottom: 0px; line-height: 200%;"><img border="0"" width=100% src="upfiles/2009/07/1246430143_3.jpg" alt=""/></p><p style="padding: 0px; margin-top: 0px; margin-bottom: 0px; line-height: 200%;"><img border="0"" width=100% src="upfiles/2009/07/1246430143_1.jpg" alt=""/></p>;  $pattern="/<[img|IMG].*?src=[|"](.*?(?:[.gif|.jpg]))[|"].*?[/]?>/";  preg_match_all($pattern,$str,$match);  print_r($match);

PHP正则表达式提取超链接及其标题IOO快乐收录网

代码如下 复制代码

$str = <a id="top8" href="http://list.MP3.baidu.com/song/A.htm?top8" class="p14" target="_top">歌曲列表</a><br><a target="_blank" id="bp" href="http://list.mp3.baidu.com/list/bangping.html" class="p14">中文金曲榜</a><br><td nowrap="nowrap">&#8226;&nbsp;<a id="top19" href="qingyinyue.html?top19" class="p14" target="_top">轻音乐</a></td>;IOO快乐收录网

利用正则表达式是最简单的,其它的办法,偶米去想。。。IOO快乐收录网

$pat = /(.*?)/i; IOO快乐收录网

preg_match_all($pat, $str, $m);

输出方法:IOO快乐收录网

print_r($m[2]);IOO快乐收录网

print_r($m[4]); 在PHP 中引用的意思是:不同的名字访问同一个变量内容. 与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容在内存中存放的地址

变量的引用IOO快乐收录网

PHP 的引用允许你用两个变量来指向同一个内容IOO快乐收录网

 代码如下 复制代码 IOO快乐收录网

IOO快乐收录网

  《PHP中递归函数返回值使用介绍(ecshop无限分类)(php递归函数1加到100)》更新于时间:2023-04-07 01:25:53;由本站小编进行发布,目前浏览的小伙伴达到,感谢你们的支持,后期快乐收录网小编会继续为大家更新更多相关的文章,希望广大网友多多关注快乐收录网工作心得栏目,如果觉得本站不错,那就给我们一个分享的支持吧!

PHP中递归函数返回值使用介绍(ecshop无限分类)(php递归函数1加到100)特别声明

本站快乐收录网提供的PHP中递归函数返回值使用介绍(ecshop无限分类)(php递归函数1加到100)都来源于网络,不保证文章的准确性和真实性,同时,对于该文章所造成的影响,不由快乐收录网实际控制,在2023-04-07 01:25:53收录时,该网页上的内容,都属于合规合法,如有侵权违规,可以直接联系网站管理员进行整改或删除,快乐收录网不承担任何责任。

快乐收录网:致力于优质、实用的网络站点资源收集与分享!本文地址:https://nav.klxjz.cn/CMS/cmsjiaochenghuizong/92577.html转载请注明

标签: