php基础第三天

php基础第三天

php基础第三天(递归函数)

今天我们来说说什么递归函数,对于递归函数,想必大家都应该听说过,具体一些术语,我就不想照搬照抄了,我觉得递归函数就是在函数本身里面在调用自己,说起来好像懂得了什么是递归但是你真的理解了吗?

接下来我们来看一个例子

<?php
function func($total,$line=1,$row=1,&$result="<table border=2><tr>"){
	if($line>$total){
		return;
		}else{
		$result.="<td>$line</td>";
		$line++;
		$row++;
		func($total,$line,$row,$result);
		}
		$result.="</tr></table>";
		echo $result;
		}
		func(10);
		?>

在这里插入图片描述

说句真心话,我刚开始真的不是很理解,后来经过思考大致明白了他是怎么回事了,一开始是随着\$line的值增加,td标签也跟着增加,直到$line的值为11,将会结束func(\$total,\$line,\$row,\$result)(其中此时参数中的\$line和\$row值均为11),当结束此函数,\$line和\$row的值将会跳到上回的10,此时紧接着执行\$result.="</tr></table>";紧接着输出下一行表格(也是10个单元格---因为他用的传参方式是传址,什么叫传址,在我的上一篇文章当中有介绍),此时表格的单元格个数是一样的,此时,该时候的函数也结束,\$line和\$row的值将会跳到上回的9,继续执行这时候的函数,步骤将综上所述,依次循环进行,就得到了最终的结果。

猜你喜欢

转载自blog.csdn.net/qq_40181206/article/details/88809023