【PHP无限分类三种方式非函数的递归调用!_php技巧】教程文章相关的互联网学习教程文章

phpaddslashes利用递归实现使用反斜线引用字符串_PHP

实现代码: 代码如下:function addslashes_deep($value){//史上最经典的递归,一行搞定return is_array($value) ? array_map('addslashes_deep', $value) : addslashes($value);} //测试数据$_POST['STR'] = "'fanglor ' is \ a boy >'";$_GET['STR1'] = 'fanglor " is \ a boy >'; echo '当前get_magic_quotes_gpc为 '.get_magic_quotes_gpc();echo ""; //判断当前是否开启get_magic_quotes_gpcif (!get_magic_quotes_gpc())...

php上传文件,创建递归目录的实例代码_PHP

代码如下: $uid=$_REQUEST['uid']; $avatar = 'D:/avic/discuz/uc_server/data/avatar/'.get_avatar($uid, $size, $type);$dir=dirname($avatar); //创建目录成功后移动临时文件if(mkdirs($dir)){  if($_FILES["pic"]["error"] >= 0){    if(move_uploaded_file($_FILES['pic']['tmp_name'],$avatar)){      $errorcode=1;    }else{      $errorcode=0;      $errormsg="文件移动失败";    }  ...

php递归获取目录内文件(包含子目录)封装类分享_PHP

代码如下:代码如下:function readFileFromDir($dir) { if (!is_dir($dir)) { return false; } //打开目录 $handle = opendir($dir); while (($file = readdir($handle)) !== false) { //排除掉当前目录和上一个目录 if ($file == "." || $file == "..") { continue; } $file = $dir . DIRECTORY_SEPARATOR . $file; //如果是文件就打印出来,否则递归调用 ...

php递归函数中使用return的注意事项_PHP

php递归函数中使用return的时候会碰到无法正确返回想要的值得情况,如果不明白其中的原因,很难找出错误的,就下面的具体例子来说明一下吧: 代码如下:function test($i){ $i-=4; if($i<3){ return $i; }else{ test($i); } } echotest(30); 这段代码看起来没有问题,如果不运行一下估计你也不会认为他有什么问题,及时运行起来发现有问题你也不一定知道哪里有问题,但其实这个函数的else里面是有问题的。在这段代码里面执行的结果...

php递归方法实现无限分类实例代码_PHP

数组:代码如下:$items = array( array(id => 1, pid => 0, name => 一级11 ), array(id => 11, pid => 0, name => www.bitsCN.com 一级12 ), array(id => 2, pid => 1, name => 二级21 ), array(id => 10, pid => 11, name => 二级22 ), array(id => 3, pid => 1, name => 二级23 ), array(id => 12, pid => 11, name => 二级24 ), array(id => 13, pid => 12, name => 三级31 ), array(id => 9, pid => 1, name => 二级25 ),); 函...

phpfunction用法如何递归及return和echo区别_PHP

代码如下://模拟sql数据 $array = array(0=>'apple',1=>'banana',2=>'cat',3=>'dog',4=>'egg','5'=>'father'); //function 用法1 //arr 是传入的数据 $con 是条件 function f_1($arr,$con){ //这里的 array 是这个函数内私有的,不会和出面的array冲突 //所以,外地面的 array不里直接在内面用,里面的array也不能直接外面用 //先实例一个array $array = array(); //for foreach while 用法都类似,具体baidu foreach ($arr as $ke...

PHP递归删除目录几个代码实例_PHP

下面给大家提供几个函数参考。 实例一:代码如下:function deletedir($dir){ if(!handle=@opendir($dir)){ //检测要打开目录是否存在 die("没有该目录"); } while(false !==($file=readdir($handle))){ if($file!=="."&&$file!==".."){ //排除当前目录与父级目录 $file=$dir .DIRECTORY_SEPARATOR. $file; ...

PHP不用递归实现无限分级的例子分享_PHP

两个不用递归的树形数组操作函数代码如下:/** * 创建父节点树形数组 * 参数 * $ar 数组,邻接列表方式组织的数据 * $id 数组中作为主键的下标或关联键名 * $pid 数组中作为父键的下标或关联键名 * 返回 多维数组 **/function find_parent($ar, $id=id, $pid=pid) { foreach($ar as $v) $t[$v[$id]] = $v; foreach ($t as $k => $item){ if( $item[$pid] ){ if( ! isset($t[$item[$pid]][parent][$item[$pid]]) ) ...

php实例分享之通过递归实现删除目录下的所有文件详解_PHP

先贴代码:代码如下:function delFile($dirName){ if ($handle = opendir("$dirName")){ while (($item = readdir($handle))!=false){ if ($item!="." && $item!="..") { if ( is_dir( "$dirName/$item" ) ) { delFile( "$dirName/$item" ); } else unlink("$dirName/$item"); } } closedir($handle);}?>delFile('/home/sources');?> 先讲解几个函数: opendir() :函数打开一个目录句柄,可由 clo...

php递归删除目录下的文件但保留的实例分享_PHP

用php程序删除目录和文件比到ftp删除有很多优势。首先进ftp就比较麻烦,然后删除大量文件的时候ftp删除很慢,还有就是程序只想删除文件夹下面的文件,而保留目录结构,可以用php来轻松的实现,再有比如生成的日志、缓存要清除用程序来完成显然轻松的多。一:删除目录下面的文件,不删除目录 代码如下:function delFileUnderDir( $dirName ){ if ( $handle = opendir( "$dirName" ) ) { while ( false !== ( $item = readdir(...

php+mysql不用递归实现的无限级分类实例(非递归)_PHP

要实现无限级分类,递归一般是第一个也是最容易想到的,但是递归一般被认为占用资源的方法,所以很多系统是不考虑使用递归的 本文还是通过数据库的设计,用一句sql语句实现 数据库字段大概如下:代码如下:id 编号 fid 父分类编号 class_name 分类名 path 分类路径,以 id 为节点,组成类似 ,1,2,3,4, 这样的字符串 可以假设有如下的数据:代码如下: id fid class_name path 1 0 分类1 , 1, 2 0 分类2 , 2, 3 ...

PHP不用递归遍历目录下所有文件的代码_PHP

实现代码: /*** PHP 非递归实现查询该目录下所有文件* @param unknown $dir* @return multitype:|multitype:string*/ function scanfiles($dir) {if (! is_dir ( $dir ))return array ();// 兼容各操作系统$dir = rtrim ( str_replace ( \\, /, $dir ), / ) . /;// 栈,默认值为传入的目录$dirs = array ( $dir );// 放置所有文件的容器$rt = array ();do {// 弹栈$dir = array_pop ( $dirs );// 扫描该目录$tmp = scandir ( $dir...

php递归使用示例(php递归函数)_PHP

//递归获得角色ID字符串 function explodeRole($roleObj, &$resultStr){if(0 < count($roleObj->childRoleObjArr)){foreach($roleObj->childRoleObjArr as $childRoleObj){if( == $resultStr){$resultStr .= "{$childRoleObj->id}";}else{$resultStr .= ", {$childRoleObj->id}";}explodeRole($childRoleObj, $resultStr);}} }//递归获取级联角色信息数组 function makeRoleRelation(&$roleObjArr){foreach($roleObjArr as $item){...

php使用递归计算文件夹大小_PHP

方法很简单,这里就不多废话了,直接奉上代码:代码如下: protected function dir_size($dir){$dh = opendir($dir); //打开目录,返回一个目录流$size = 0; //初始大小为0 while(false !== ($file = @readdir($dh))){ //循环读取目录下的文件if($file!=. and $file!=..){$path = $dir./.$file; //设置目录,用于含有子目录的情况if(is_dir($path)){$size += $this->dir_size($path); //递归调用,计算目...

php使用递归函数实现数字累加的方法_PHP

本文实例讲述了php使用递归函数实现数字累加的方法。分享给大家供大家参考。具体实现方法如下:<?php function summation ($count) {if ($count != 0) :return $count + summation($count-1);endif; } $sum = summation(10); print "Summation = $sum"; ?>希望本文所述对大家的php程序设计有所帮助。