北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 12891|回复: 15

一些递归资料

[复制链接]
发表于 2010-3-10 11:00:04 | 显示全部楼层 |阅读模式
非专业人氏出身,为了玩MUD努力的在学习编程知识。最近这几天在琢磨递归,据说这是玩好MUD省不了的一步,之前都觉得递归这东西很可怕的样子。不过,现在是到了不得不学的时候了,没办法,硬着头皮上吧。找了点资料学了一下,好象也不是很难嘛。
  把自己觉得不错的资料放上来,一个是留档,另一个是可以让不懂的人也可以多个学习机会

这段代码会如数输出 1 到 10 的数字。在 static_function 函数第二次运行时,变量 i 由于是静态变量,所以仍被保留不被释放,进而可以得到自增的值。
  1. header("Content-type: text/plain");
  2. function static_function () {
  3.     static $i = 0;
  4.     if ($i++ < 10) {
  5.         echo $i . "\n";
  6.         static_function();
  7.     }
  8. }
  9. static_function();
复制代码
很多时候我们要遍历一个文件夹里面的所有目录,列出里面所有的文件,PHP本身自带的有一个readdir的函数,不过只能读取当前的目录,根据这个函数,我写了另外一个函数,用来实现我的需求。函数的原理很简单,主要就是用了一下递归调用。

这个函数还可以继续做一些改进,加入一些文件夹或文件的图标什么的,这样就可以做成更强大的一个函数了,有兴趣的朋友可以扩展的一下。
  1. function file_list($path){
  2.     if ($handle = opendir($path)) {
  3.         while (false !== ($file = readdir($handle))) {
  4.             if ($file != "." && $file != "..") {
  5.                 if (is_dir($path."/".$file)) {
  6.                     echo $path.": ".$file."
    ";//去掉此行显示的是所有的非目录文件
  7.                     file_list($path."/".$file);
  8.                 } else {
  9.                     echo $path.": ".$file."
    ";
  10.                 }
  11.             }
  12.         }
  13.     }
  14. }
复制代码

[ 本帖最后由 lzkd 于 2010-3-10 11:02 AM 编辑 ]
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-3-10 11:03:26 | 显示全部楼层
这个页面有一个非常漂亮的图,是用php+递归画的,有兴趣可以看看

http://www.gracecode.com/archives/1454/

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-3-10 11:08:19 | 显示全部楼层
我只知道秭归
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-3-10 11:17:01 | 显示全部楼层
我知道当归!
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-3-10 12:08:46 | 显示全部楼层
以上都不知道
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-3-10 12:38:10 | 显示全部楼层
我的理解,大白话说递归就是说函数内部再次调用这个函数以实现一些复杂的循环……
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-3-10 13:33:18 | 显示全部楼层
哇。。这个居然是我在北侠的第30个精华。。。。。
真没想到,第30个精华是这篇。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-3-10 14:35:26 | 显示全部楼层
我日,30个,你不是人……
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-3-10 14:38:54 | 显示全部楼层
。。。容易想歪
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-3-10 16:41:10 | 显示全部楼层
递归很简单的,大学学过计算机方面比如C语言之类课,应该就会讲到
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-24 08:03 PM , Processed in 0.012310 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表