扩展PHP:超文本处理器

时间:2013-09-24 21:41:17

标签: php recursion

我现在正在编程类中学习递归,虽然我理解如何使用递归来处理像阶乘和回溯算法这样的事情,但我一直在努力解决递归首字母缩写词(例如PHP)的问题。迭代了很长一段时间才知道。怎么能写一个程序迭代PHP的扩展n次?

编辑:我需要澄清我的问题 PHP是一个递归的缩写,代表PHP:Personal主页。所以,如果你要扩展PHP:超文本处理器无数次,它会看起来像PHP:超文本处理器超文本处理器超文本处理器...或者不同的东西

3 个答案:

答案 0 :(得分:2)

我完全猜测你在问什么,但如果我是对的,那就是这样的:

function recursePHP($n) {
    if ($n <= 0)
        return 'PHP';

    return recursePHP($n-1) . 'Hypertext Processor';
}

这是针对你的问题采用递归函数方法,给出n = 2:“PHP超文本处理器超文本处理器”

我认为这是通过首字母缩略词进行递归的正确方法,因为考虑到你最终使用“PHP超文本处理器”的第一次迭代,这里的PHP解析为“PHP超文本处理器”,因此变为“ PHP超文本处理器超文本处理器“在第一次迭代中使用粗体部分作为PHP,等等。在您迭代指定数量的递归之前,您不会解析PHP并在开始时以PHP结束然后是n“超文本处理器”。

答案 1 :(得分:0)

我假设“PHP:Hypertext Processor”会在第一次迭代后扩展为“PHP:Hypertext ProcessorHP:Hypertext Processor”。

试试这个:

function iteration($i = 0) {
    if ($i < 10)
    {
        echo iteration($i + 1) . 'HP: Personal Home Page';
    }
    else
    {
        echo 'P';
    }
}

iteration();

未经测试,但足以让您入门。

编辑:嗯,考虑一下,我真的不确定这个复印件是如何递归:-)的。

答案 2 :(得分:0)

由于PHP是PHP超文本处理器的一部分,我猜扩展的结果将是PHP(超文本处理器){Inf},因为PHP中的第一个P指向PHP,而其他两个字母为每次迭代添加超文本处理器。 / p>