【php文件管理,可以点击按照时间,大小,名称排序_PHP教程】教程文章相关的互联网学习教程文章

php与shell大文件数据统计与排序方法

本节内容: shell与php排序大数据的方法 大数据的问题,比如有个4G的文件,如何用只有1G内存的机器去计算文件中出现次数做多的数字(假设1行是1个数组,例如QQ号码)。 如果这个文件只有4B或者几十兆,那么最简单的办法就是直接读取这个文件后进行分析统计。但是这个是4G的文件,当然也可能是几十G甚至几百G的文件,这就不是直接读取能解决了的。 同样对于如此大的文件,单纯用PHP做是肯定行不通的,我的思路是不管多大文件,首先要切...

PHP实现常见查找和排序算法

下面分享一些最常见的算法,用PHP如何实现。1、冒泡排序function bubble_sort($arr) { $n=count($arr); for($i=0;$i<$n-1;$i++){ for($j=$i+1;$j<$n;$j++) { if($arr[$j]<$arr[$i]) { $temp=$arr[$i]; $arr[$i]=$arr[$j]; $arr[$j]=$temp; } } } return $arr;} 2、归并排序function Merge(&$arr, $left, $mid, $right) { $i = $le...

PHP实现各种排序算法

<?php // 冒泡排序 function BubbleSort($arr) {// 获得数组总长度$num = count($arr);// 正向遍历数组for ($i = 1; $i < $num; $i++) {// 反向遍历for ($j = $num - 1; $j >= $i ; $j--) {// 相邻两个数比较if ($arr[$j] < $arr[$j-1]) {// 暂存较小的数$iTemp = $arr[$j-1];// 把较大的放前面$arr[$j-1] = $arr[$j];// 较小的放后面$arr[$j] = $iTemp;}}}return $arr; }// 交换法排序 function ExchangeSort($arr){$num = count(...

PHP数组分组排序实例代码

有如下PHP数组,数组中的内容:$list = array( array(2,3,5), array(2,5,24), array(3,8,6), array(3,2,10), array(4,7,20), array(4,1,15), array(6,4,10), array(7,9,20), );为了方便表达,我把3列数字分别称为,ABC三列 需求:默认以A列排序为主,如果A列相同则以C列倒序排列相同的元素。B列其实没有参与排序,但是在实际运用中有用,所以也写出来了。 方法一:<?php$a = $c = array();foreach($lis...

PHP快速排序小例子php快速排序实现方法

PHP快速排序小例子 php快速排序实现方法 完整代码:set_time_limit(0); function quickSort($arr) { if (count($arr) > 1) { // 只判断数组长度大于1的情况 $k = $arr[0]; // 默认参照对象为数组第一个对象 $x = array(); // 比参照小的 $y = array(); // 比参照大的 $_size = count($arr); for ($i = 1; $i if ($arr[$i] $x[] = $arr[$i]; ...

php二维数组排序的两种方法

$users = array( array(name => tom, age => 20) , array(name => anny, age => 18) , array(name => jack, age => 22));希望能按照age从小到大进行排序。 以下是本人整理的两种方法,分享给大家,供学习参考。 1、使用array_multisort 使用这个方法,会比较麻烦些,要将age提取出来存储到一维数组里,然后按照age升序排列。具体代码如下:$ages = array();foreach ($users as $user) { $ages[] = $user[age];} array...

对多维数组按某值排序的php代码

$arr = array( "0" => array(line_num => "10", occur_time => "2007-11-19 10:25:04+08"),    "1" => array(line_num => "9", occur_time => "2007-11-19 10:25:04+08"),  "2" => array(line_num => "25", occur_time => "2007-11-19 10:25:04+08") ); print_r($arr); echo ""; echo ""; echo ""; uasort( $arr,create_function('$a, $b', 'return ...

学习php多维数组的排序

$a =array(100,80,50,10,0);$b = array("c","f","q","e","z");array_multisort($a,$b);var_dump($a);var_dump($b);?>运行结果: array(5) { [0]=> int(0) [1]=> int(10) [2]=> int(50) [3]=> int(80) [4]=> int(100) } array(5) { [0]=> string(1) “z” [1]=> string(1) “e” [2]=> string(1) “q” [3]=> string(1) “f” [4]=> string(1) “c” } 很显然本来是数组b第五个元素的z被排到了第一位。 其实说明白了就是,array_mul...

php将地区分类排序的算法

$array = array( 0=>array("","河北"), 1=>array("","北京"), 2=>array(0,"保定"), 3=>array(1,"海淀"), 4=>array(3,"中关村"), 5=>array(2,"涿州"));?>处理后返回如下结果: 河北 -保定 --涿州 北京 -海淀 --中关村 算法代码: function typeArray($array){ $con = null; foreach ($array as $k=>$v){ $na[$k] = is_numeric($v[0]) ? $na[$v[0]].$k."|" : $k."|"; } ...

php多维数组排序的例子

<?php$array = array(0 => array(3, one),1 => array(101, two),2 => array(12, three),3 => array(13, four),4 => array(1, five),5 => array(3, six),);/*方法一:使用的是uasort()函数,而不是usort()函数,区别在于,uasort()会保持原来的索引,usort()会重建索引。*/function cmp($a, $b){ if($a[0] == $b[0]){ return 0; } return($a[0] < $b[0]) ? -1 : 1; } uasort($array,"cmp"); print_r($arra...

PHP简单实现冒泡排序

之学习php的时候不敢往算法上靠近。就是怕扰乱自己的思想,现在回顾一下也还真的就那一回事。嘿嘿!各位有没有遇到这样子的情况呢?哈 <?php#冒泡排序法$arr = array(12,45,89,3,24,55,223,76,22,11,89,2,4,5,28,112,20,434,23,65,65,765,6,8,23,5,33,553,45,423,64,77,84,23);$tmp;for($i=0;$i<count($arr)-1;$i++ ){ for($j=0;$j<count($arr)-1-$i;$j++){ if($arr[$j] > $arr[$j+1]){ $tmp = $a...

php简单数组排序的方法

$arr = array(100, 200, 300); 以上就代码就创建了一个数组,并且包含3个值。PHP数组的数字索引是从0开始的。所以$arr[0]的值为100。 可以用一个简单的 "="号把一个数组中的值复制到另一个数组中。 如果需要将按升序排列的数字保存到一个数组中,可以使用range()函数自动创建这个数组。 如以下代码将创建一个从1到10的数字数组: $nums = range(1,10); 这个函数还有第三个参数,可以设定数字增长的步长。如: range(1,10,2)就是1到...

phparray_multisort多维数组排序的例子

$arr1 = array(1,9,5); $arr2 = array(6,2,4); array_multisort($arr1,$arr2); print_r($arr1); // 得到的顺序是1,5,9 print_r($arr2); // 得到的顺序是6,4,2我估计两个数组的值自始至终都是对应着的:1对应6,9对应2,5对应4。 再加多一个数组看看会怎样: $arr1 = array(1,9,5); $arr2 = array(6,2,4); $arr3 = array(3,7,8); array_multisort($arr1,$arr2,$arr3);查看结果,1自始至终都对应6对应3,其它项也是如此。这种对应关...

php数组排序的例子(不用内置函数)

function arraysort($data, $order = 'asc') { //asc升序 desc降序 $temp = array (); $count = count ( $data ); if ($count return false; //传入的数据不正确 if ($order == 'asc') { for($i = 0; $i for($j = $count - 1; $j > $i; $j --) { if ($data [$j] //交换两个数据的位置 $temp = $data [$j]; $data [$j] = $data [$j - 1]; $data [$j - 1] = $temp; } } } } else { for($i = 0; $i for($j = $count - 1; $j > $i; $j ...

php数组函数array_map、array_multisort多维数组排序实例

<?phparray_sort($arrFile, 1, 1);//根据name字段排序 array_sort($arrFile, 3, 1);//根据size字段排序 /* @records 要排序的数组 @field要排序的字段,注意是数字 @reverse正序还是反序 */ function _array_sort($records, $field, $reverse, $defaultSortField = 0) { $uniqueSortId = 0; $hash = array(); $sortedRecords = array(); $tempArr = array(); $indexedArray = array(); $recordArray = array();foreach($records as ...