【PHP遍历的有关问题?麻烦大家帮看一下】教程文章相关的互联网学习教程文章

PHP使用内置dir类实现目录遍历删除_PHP

本文实例讲述了PHP使用内置dir类实现目录遍历删除的方法。分享给大家供大家参考。具体实现方法如下:function clearDir($dir) {if (file_exists($dir)){if(!is_dir($dir))exit("{$dir}不是一个目录");else{$dirObj = dir($dir);while ($file = $dirObj->read()){if (is_dir($dir ./. $file) && $file !== . && $file !== ..){clearDir($dir ./. $file);if (@!rmdir($dir ./. $file)) echo "没有权限删除{$dir}/{$file}目录 ";}else...

php通过前序遍历树实现无需递归的无限极分类_PHP

本文实例讲述了php通过前序遍历树实现无需递归的无限极分类。分享给大家供大家参考。具体如下: 大家通常都是使用递归实现无限极分类都知道递归效率很低,下面介绍一种改进的前序遍历树算法,不适用递归实现无限极分类,在大数据量实现树状层级结构的时候效率更高。 sql代码如下:CREATE TABLE IF NOT EXISTS `category` (`id` int(11) NOT NULL AUTO_INCREMENT,`title` varchar(50) NOT NULL,`lft` int(11) NOT NULL,`rgt` int(11...

php遍历树的常用方法汇总_PHP

本文实例讲述了php遍历树的常用方法。分享给大家供大家参考。具体如下: 一、递归的深度优先的算法:<?php define(DS, DIRECTORY_SEPARATOR); function rec_list_files($from = .) {if(!is_dir($from)) {return array();}$files = array();if($dh = opendir($from)){while(false !== ($file = readdir($dh))) {if($file == . || $file == ..) {continue;}$path = $from . DS . $file;if (is_file($path)) {$files[] = $path;}$file...

PHP实现二叉树的深度优先与广度优先遍历方法_PHP

本文实例讲述了PHP实现二叉树的深度优先与广度优先遍历方法。分享给大家供大家参考。具体如下:#二叉树的广度优先遍历 #使用一个队列实现 class Node {public $data = null;public $left = null;public $right = null; } #@param $btree 二叉树根节点 function breadth_first_traverse($btree) {$traverse_data = array();$queue = array();array_unshift($queue, $btree); #根节点入队while (!empty($queue)) { #持续输出节点,直...

php对文件夹进行相关操作(遍历、计算大小)_PHP

为大家分享的第一个操作内容: 遍历并打印指定目录下所有文件<?php //功能:遍历并打印指定目录下所有文件 function scan_dir($dir_name,$dir_flag=1) { static $FILE_COUNT=1; //记录文件数目 初值为1 目录名称不记 $FILE_COUNT--; //每调用一次scan_dir()函数自减1 @$dir_handle=opendir($dir_name); //抑制错误信息显示 便于自定义错误显示 if(!$dir_handle) die("目录打开错误!"); while(false!==($file...

php实现遍历多维数组的方法_PHP

本文实例讲述了php实现遍历多维数组的方法。分享给大家供大家参考,具体如下:$a=array(fruits=>array(a=>orange,b=>grape,c=>apple),numbers=>array(1,2,3,4,5,6),holes=>array(first,5=>second,third)); //第一种: foreach($a as $list=>$things){if(is_array($things)){foreach($things as $newlist=>$counter){echo "key:".$newlist.""."value:".$counter."";} } } //第二种: function MulitarraytoSingle($array){$temp=arra...

PHP多维数组遍历方法(2种实现方法)_PHP

本文实例讲述了PHP多维数组遍历方法。分享给大家供大家参考,具体如下: 方法一:$a=array(fruits=>array(a=>orange,b=>grape,c=>apple),numbers=>array(1,2,3,4,5,6),holes=>array(first,5=>second,third)); foreach($a as $list=>$things){if(is_array($things)){foreach($things as $newlist=>$counter){echo "key:".$newlist.""."value:".$counter."";}} }方法二:function MulitarraytoSingle($array){$temp=array();if(is_ar...

thinkPHP中多维数组的遍历方法_PHP

本文实例讲述了thinkPHP中多维数组的遍历方法。分享给大家供大家参考,具体如下:$drug=array(ACEI=>array(array(ch_name=>,en_name=>captopril),array(ch_name=>脚本下载,en_name=>enalapril),array(ch_name=>赖诺普利,en_name=>lisinopril)),ARB=>array(array(ch_name=>脚本源码,en_name=>eprosartan), array(ch_name=>jb51,en_name=>candesartan),array(ch_name=>PHP学习,en_name=>losartan),array(ch_name=>JS学习,en_name=>va...

PHP递归遍历多维数组实现无限分类的方法_PHP

本文实例讲述了PHP递归遍历多维数组实现无限分类的方法。分享给大家供大家参考,具体如下:<?php//$data[]=array(id=>1,parentid=>0,name=>中国,img=>52091199);$data[]=array(id=>1,parentid=>0,name=>中国);$data[]=array(id=>2,parentid=>0,name=>美国);$data[]=array(id=>3,parentid=>0,name=>韩国);$data[]=array(id=>4,parentid=>1,name=>北京);$data[]=array(id=>5,parentid=>1,name=>上海);$data[]=array(id=>6,parentid=>...

PHP实现的线索二叉树及二叉树遍历方法详解_PHP

本文实例讲述了PHP实现的线索二叉树及二叉树遍历方法。分享给大家供大家参考,具体如下:<?phprequire biTree.php;$str = ko#be8#tr####acy#####;$tree = new BiTree($str);$tree->createThreadTree();echo $tree->threadList() . "\n";从第一个结点开始遍历线索二叉树echo $tree->threadListReserv();从最后一个结点开始反向遍历 ?>biTree.php:<?/*** PHP实现二叉树** @author zhaojiangwei* @since 2011/10/25 10:32*///结点类c...

thinkPHP简单遍历数组方法分析_PHP

本文实例分析了thinkPHP简单遍历数组方法。分享给大家供大家参考,具体如下: 有如下数组: array(array(id=>1,username=>mgckid,sex=>1)array(id=>2,username=>yezi,sex=>0) ) thinkphp模版标签写法: <{$vo.id}>---------<{$vo.username}>-----------<{$vo.sex}>遍历结果: 1---------mgckid-----------1 2---------yezi-----------0 附上织梦标签写法对比加强理解: {dede:arclist typeid=20 row=5 titlelen=40}[field:title/] ...

一个目录遍历函数_php基础

一个目录遍历函数function dirtree($path="./test") { echo ""; $d = dir($path); while(false !== ($v = $d->read())) { if($v == "." $v == "..") continue; $file = $d->path."/".$v; echo "$v"; if(is_dir($file)) dirtree($file); } $d->close(); echo "";}dirtree();?>

深思PHP数组遍历的差异(array_diff的实现)_php技巧

function array_diff($array_1, $array_2) { $diff = array(); foreach ($array_1 as $k => $v1) { $flag = false; foreach ($array_2 as $v2) { if ($flag = ($v1 == $v2)) { break; } } if (!$flag) { $diff[$k] = $v1; } } return $diff; }虽然实现是可以的,但是发现这个函数的效率是惨不忍睹。于是我又重新考虑...

php遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码_php技巧

/********************** 一个简单的目录递归函数 第一种实现办法:用dir返回对象 ***********************/ function tree($directory) { $mydir=dir($directory); echo "\n"; while($file=$mydir->read()){ if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!="..")) {echo "$file\n"; tree("$directory/$file"); } else echo "$file\n"; } echo "\n"; $mydir->close(); } //开始运行 echo "目录为粉红色\n"; tree("...