Home >Backend Development >PHP Tutorial >php advanced functions

php advanced functions

WBOY
WBOYOriginal
2016-07-29 09:08:161233browse

递归函数

所谓的函数递归调用,就是函数可以在其声明的执行叙述之中调用执行自己。
通常在此类型的函数之中会附加一个条件判断叙述,以判断是否需要执行递归调用,并且在特定条件下终止函数的递归调用动作,把目前流程的主控权交回上一层函数执行。因此当某个执行递归调用的函数,没有附加条件判断叙述时可能会造成无限循环的错误情形.
函数递归调用最大的好处在于可以精简程序中繁杂重复调用程序,并且能以这种特性来执行一些较为复杂的运算动作。(打过代码的都知道==)

<?php //error_reporting(0);
	$dirname = "./phpmyadmin";


	function fordir($dirname) {
		//打开目录资源
		$dir = opendir($dirname);


		readdir($dir);
		readdir($dir);

		while( $file = readdir($dir)) {
		
			$nfile = $dirname.&#39;/&#39;.$file;

			
			if(is_dir($nfile)){
				echo "目录: {$nfile}<br>";
			} else {
				echo "文件: {$nfile}<br>";
			}
			
		}


		closedir($dir);
		//关闭
	}

	fordir($dirname);

这段代码我最开始执行的时候粗线了如下的界面

php advanced functions吓死本宝宝了

自己还傻乎乎的去找了屏蔽警告的代码,然后什么都不出现了(⊙﹏⊙)b,机智的我看了一下警告提示信息,啊,原来是得自己建这个文件夹呀~~半个月前看的视频,具体细节早忘了php advanced functions

待我在www文件夹中建了文件夹之后就出现了酱紫的答案:

文件: ./phpmyadmin/callback.php
文件: ./phpmyadmin/callback1.php
文件: ./phpmyadmin/callback2.php
文件: ./phpmyadmin/callback3.php
文件: ./phpmyadmin/callback4.php
文件: ./phpmyadmin/callback5.php

再看看课件里的例子~

<?php function test($n){
		echo $n."&#160;&#160;";
		if($n>0)
			test($n-1);
		else echo "";
		echo $n."  ";
	}
	test(10);

看到“”中间的空格了吗 逗比csdn把

function test($n){
echo $n."  ";
if($n>0)
test($n-1);
else echo "";
echo $n."  ";
}


test(10);

直接转化了 orz

 什么意思?html转义字符啊,干嘛的 ?输出空格的→_→你说你html学啥了 ??

字符

十进制

转义字符

"

"

"

&

&

&

<

>

>

>

不断开空格(non-breaking space)

 

记住了哟→_→

输出啥?

10  9  8  7  6  5  4  3  2  1  0  0  1  2  3  4  5  6  7  8  9  10  

以上就介绍了php advanced functions,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn