php中数据排序与遍历函数总结

数组的排序
在php教程中,排序方式有三种,通过索引排序、通过值排序(不保留原索引)、通过值排序(保留原索引)。每种又分为升序、降序以及用户定义顺序三个函数。它们分别如下:
通过索引排序:①升序 ksort() ②降序 krsort() ③用户定义顺序 uksort()
不保留原索引值排序:①升序 sort() ②降序 rsort() ③用户定义顺序 usort()
保留原索引值排序:①升序 asort() ②降序 arsort() ③用户定义顺序 uasort()
在php中,也可以用array_multisort来一次排序多个数组,不过项目中可能用得比较少。
翻转数组,把数字索引翻转,索引重新从0开始:array_reverse()
把索引和值调换:array_flip()
随机顺序:shuffle()
迭代器遍历

 

$test01 = array('a', 'b', 'c');
// for
for ($i = 0; $i < count($test01); $i++) {
    echo $test01[$i];
}
// foreach value only
foreach ($test01 as $value) {
    echo $value;
}
// foreach key and value
$test01 = array('a' => 'aaaa', 'b' => 'bbbb', 'c' => 'cccc');
foreach ($test01 as $key => $value) {
    echo "$key => $value";
}

$test01 = array('a' => 'aaaa', 'b' => 'bbbb', 'c' => 'cccc');
while (list($key, $value) = each($test01)) {
    echo "$key => $value" . "<br/>";
}

php中,迭代遍历主要要用到以下函数。
current() 迭代的当前元素。
reset() 重新移动到第一个元素并返回它。
next() 移动到下一个元素并返回它。
prev() 移动到上一个元素并返回它。
end() 移动到最后一个元素并返回它。
each() 以数组的形式返回当前元素的索引和值,并移动到下一个迭代。
key() 返回当前的索引。
array_ walk() 为每一个元素调用函数。
array_ reduce() 为每一个元素依次计算。

变通遍历
 

array_walk($test01, walk_test);
function walk_test($key, $value) {
    echo "walk: $key => $value" . "<br/>";
}
 
$test02 = array(1, 2, 3, 4, 5);
echo array_reduce($test02, reduce_test);
function reduce_test($run_result, $current_value) {
    return $run_result + $current_value * $current_value;
}

 

时间: 2024-11-13 06:58:57

php中数据排序与遍历函数总结的相关文章

Word文档的表格中数据排序的方法

  Word文档的表格中数据排序的方法         1.在表格中单击将插入点光标放置到任意单元格中,然后在"表格工具-布局"选项卡中单击"数据"组中的"排序"按钮,如图1所示. 图1 单击"排序"按钮 2.打开"排序"对话框,在"主要关键字"下拉列表中选择排序的主要关键字,在"类型"下拉列表框中选择排序标准,然后单击其后的"降序"单选按钮选择以

linux内核中的排序接口--sort函数

linux内核中的sort函数,其实跟我们所说的qsort函数很像,我们来看看qsort: qsort 的函数原型是 void qsort(void*base,size_t num,size_t width,int(__cdecl*compare)(const void*,const void*)); 参数:  1 .待排序数组首地址 2 .数组中待排序元素数量 3 .各元素的占用空间大小 4 .指向函数的指针,用于确定排序的顺序. 其中compare函数应写为: 1 2 3 4 int com

请教一个datalist中数据排序的问题

问题描述 如题:datalist中的'<%#Eval("id"),在页面中显示出来的值是随机排序的.比如:5314这样.如何才能将其显示为按大小顺序排列,我试过sql语句orderbyasc或者desc都不行,显示出来还是随机排序的.请问应该怎么修改啊 解决方案 解决方案二:orderbyiddesc不行吗?解决方案三:...ORDERBY[id]DESC解决方案四:不行的,我试试存储过程吧

ASP.NET中实现DataGrid数据排序

asp.net|datagrid|排序|数据 Visual Studio .Net为编写WinForm程序(即:在Windows平台下运行的程序)所提供的DataGrid组件比起微软以往的各种开发环境中提供的DataGrid组件都要"高级"许多.其"高级"的地方就在于不需要再进行任何其他设置或编程,DataGrid就能够对其中的数据分别按照升.降序进行排列.这种"高级"功能给我们编程提供了许多方便.图01是在WinForm程序中的DataGrid

jQuery 遍历函数详解

  文章介绍了几个在jQuery中非常有用的遍历函数,遍历函数是做么的方便.当在它们一起使用时,它们将更加强大.也就是说,一个函数的输出是另一个函数的输入,它们是链式的.下面我们就来详细探讨下吧. jQuery 遍历函数包括了用于筛选.查找和串联元素的方法. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 函数 描述 .add() 将元素添加到匹配元素的集合中. .andSelf()

WPS中用COUNTIF函数来给数据排序

RANK函数常被用来给数据排序.但如果我们使用WPS Office 2003中的金山表格来排定数字大小名次的话,会发现在这个版本的金山表格中没有RANK函数. 那么,在没有RANK函数的情况下,如何给数字排定大小顺序呢?其实,我们可以使用COUNTIF函数来完成这个任务. 假定数字序列在H2:H20单元格.各数字的名次排在I2:I20单元格.那么点击I2单元格,输入如下公式:"=COUNTIF($G$2:$G$20,">"&G2)+1"(不含外层双引号

在Excel中给数据排序的常用方法与技巧

在用Excel制作相关的数据表格时,我们可以利用其强大的排序功能,浏览.查询.统计相关的数字.下面,我们以图1所示的"员工基本情况登记表"为例,来全面体验一番Excel的排序功能. 一.快速排序 如果我们希望对员工资料按某列属性(如"工龄"由长到短)进行排列,可以这样操作:选中"工龄"列任意一个单元格(如I3),然后按一下"常用"工具栏上的"降序排序"按钮即可(参见图1). 小提示:①如果按"常用

Excel中数据按行和按列排序的方法

Excel中数据按行和按列排序的方法   上图中的表格是案例,先来对它按第二季度的销售量由低到高排序,再让表格按第2行的某种顺序进行排列. 按列排序 1.选中表格中的"第二季度",切换到"数据"选项卡,在"排序和筛选"中单击"升序"按钮. 2.现在表格已经按列排序完成,效果如上图. 按行排序 1.选中A2至E5单元格区域,切换到"数据"选项卡,在"排序和筛选"组中单击"排序&q

对Excel中数据进行单列排序和多列排序的方法

  对Excel中数据进行单列排序和多列排序的方法          1.启动Excel 2013并创建工作表,在工作表中单击选择"语文"列中的任意一个单元格,然后在"开始"选项卡的"编辑"组中单击"排序和筛选"按钮,在打开的下拉列表中选择"降序"选项,如图1所示,工作表中的数据将按照单元格所在列的数据大小进行降序排列. 图1 选择"降序"选项 2.再次单击"排序和筛选&quo