注册 登录
编程论坛 PHP技术论坛

[求助]为什么第二个输出是10个10阿,急~~~~~

C来来 发布于 2007-12-09 09:37, 2312 次点击
<?php

function Test()
{
   static $c = 0;
  
   $c++;
   echo "$c";
  if ($c < 10)
    {   
       Test();
      
   }
   
    //$count--;
   echo "<p>$c";  //这个$c为什么输出的是10个10阿
   
}

Test();

?>

[[italic] 本帖最后由 C来来 于 2007-12-9 14:12 编辑 [/italic]]
8 回复
#2
C来来2007-12-09 17:39
没有人能告诉我这是为什么吗?
#3
zhzhiwei2007-12-10 00:26
不是10个10

12345678910<p>10<p>10<p>10<p>10<p>10<p>10<p>10<p>10<p>10<p>10

这才是你这代码输出的值。
#4
C来来2007-12-10 08:46
if($c<10)
{
  Test();
}
这句不是只要小于10 就调用自己吗?
第二个输出又没有循环语句为什么还循环了10回阿
#5
风月_无边2007-12-11 17:41
因為Test()自己調用自己﹐當$c從0增加到10﹐就已經調用的本身10次﹐也就是已經進入了10曾的循環﹐當從循環中出來的時候﹐都會輸出$c,而$c的值是10﹐所以就輸出了這個結果。
#6
C来来2007-12-11 19:05
难道共循环20次吗?
#7
wyg48592007-12-14 17:22
。。。。无语了,相当于人外面的1到10,但里面的下面的10是从最外面的10开始输出的,最后输出第一个循环的1 的那个10的值,哎,我也说不清楚。。。
#8
风月_无边2007-12-16 18:27
不是循环20次,是10次,只是10次分两次完成的!!
#9
woalafang2007-12-17 15:32
静态变量保存了最后的一次10
1