<tfoot id='AkyWe'></tfoot>

      <i id='AkyWe'><tr id='AkyWe'><dt id='AkyWe'><q id='AkyWe'><span id='AkyWe'><b id='AkyWe'><form id='AkyWe'><ins id='AkyWe'></ins><ul id='AkyWe'></ul><sub id='AkyWe'></sub></form><legend id='AkyWe'></legend><bdo id='AkyWe'><pre id='AkyWe'><center id='AkyWe'></center></pre></bdo></b><th id='AkyWe'></th></span></q></dt></tr></i><div id='AkyWe'><tfoot id='AkyWe'></tfoot><dl id='AkyWe'><fieldset id='AkyWe'></fieldset></dl></div>
      • <bdo id='AkyWe'></bdo><ul id='AkyWe'></ul>

      <small id='AkyWe'></small><noframes id='AkyWe'>

    1. <legend id='AkyWe'><style id='AkyWe'><dir id='AkyWe'><q id='AkyWe'></q></dir></style></legend>

      1. php实现递归的三种基本方式

        时间:2023-12-12

        <small id='ZQTAo'></small><noframes id='ZQTAo'>

        <i id='ZQTAo'><tr id='ZQTAo'><dt id='ZQTAo'><q id='ZQTAo'><span id='ZQTAo'><b id='ZQTAo'><form id='ZQTAo'><ins id='ZQTAo'></ins><ul id='ZQTAo'></ul><sub id='ZQTAo'></sub></form><legend id='ZQTAo'></legend><bdo id='ZQTAo'><pre id='ZQTAo'><center id='ZQTAo'></center></pre></bdo></b><th id='ZQTAo'></th></span></q></dt></tr></i><div id='ZQTAo'><tfoot id='ZQTAo'></tfoot><dl id='ZQTAo'><fieldset id='ZQTAo'></fieldset></dl></div>
          <bdo id='ZQTAo'></bdo><ul id='ZQTAo'></ul>
            <legend id='ZQTAo'><style id='ZQTAo'><dir id='ZQTAo'><q id='ZQTAo'></q></dir></style></legend>
              <tbody id='ZQTAo'></tbody>

              1. <tfoot id='ZQTAo'></tfoot>

                  进入正题。在PHP编程中,递归是一种非常重要的技巧,即函数内部调用自身来解决问题。实现递归的方式有很多,下面我来介绍三种基本的实现方式。

                  1.方法内嵌套调用

                  这是最基本的递归实现方式,将递归函数嵌套在方法中,一旦触发递归条件,就调用递归函数。代码如下:

                  function factorial($n){
                      if($n == 1) return 1; //递归的出口条件
                      else return $n*factorial($n-1); //递归调用自身
                  }
                  echo factorial(5);   //输出120
                  

                  上述代码实现了计算阶乘,递归出口条件为 $n=1$ 时返回1,其余情况调用自身,由于递归每次传递的值越来越小,终会达到递归出口条件,从而计算出结果。

                  2.静态变量记录

                  递归函数必须有一个能够一直记住已实现结果的变量,以便于后续的操作,静态变量正好能够满足这个需求。代码如下:

                  function recursive($arg){
                      static $x = 0;   // 记录计算的结果
                      if($arg==0){     // 递归出口条件
                          return $x; 
                      }else{
                          $x += $arg;   // 每次计算结果存到静态变量中
                          return recursive($arg-1);  //递归调用自身
                      }
                  }
                  echo recursive(5);  //输出15
                  

                  3.&引用

                  递归函数是在一个环境中进行多次调用,正常情况下每次调用都是独立的。使用&引用可以将变量变成稳定状态,下一次调用可以继续上一次的结果,代码如下:

                  function getArray($n, &$arr){
                      if($n>0){
                          getArray($n-1, $arr);      //递归调用自身
                          $arr[] = $n;               //将计算结果存到数组中
                      }
                      return $arr;
                  }
                  print_r(getArray(5, $a));  //输出Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
                  

                  上述代码通过递归函数实现了倒序输出数组中的数字。

                  以上就是使用PHP实现递归的三种基本方式。

                  上一篇:PHP数组实例详解 下一篇:基于PHP常用字符串的总结(待续)

                  相关文章

                  1. <tfoot id='Gta4A'></tfoot>

                    • <bdo id='Gta4A'></bdo><ul id='Gta4A'></ul>

                    <i id='Gta4A'><tr id='Gta4A'><dt id='Gta4A'><q id='Gta4A'><span id='Gta4A'><b id='Gta4A'><form id='Gta4A'><ins id='Gta4A'></ins><ul id='Gta4A'></ul><sub id='Gta4A'></sub></form><legend id='Gta4A'></legend><bdo id='Gta4A'><pre id='Gta4A'><center id='Gta4A'></center></pre></bdo></b><th id='Gta4A'></th></span></q></dt></tr></i><div id='Gta4A'><tfoot id='Gta4A'></tfoot><dl id='Gta4A'><fieldset id='Gta4A'></fieldset></dl></div>

                    <small id='Gta4A'></small><noframes id='Gta4A'>

                      <legend id='Gta4A'><style id='Gta4A'><dir id='Gta4A'><q id='Gta4A'></q></dir></style></legend>