PHP数组排序之sort、asort与ksort用法实例
本文实例讲解了PHP数组排序中sort、asort与ksort的用法,供大家参考借鉴之用。具体实例如下所示:
<?php $arr = array('d'=>'sdf', 'r'=>'sdf', 'a'=> 'eee'); //sort($arr); // 对数组的值进行重排, 删除之前的键值, 变为索引数组 //asort($arr); // 对数组按照值进行重排,并保持索引关系,索引数组和关联数组均适用 ksort($arr); // 对数组按照键值进行重排,并保持索引关系,索引数组和关联数组均适用 // 对应逆序还有rsort arsort krsort // 使用函数比较有usort uksort uasort 第二个参数为比较的函数 需要在第一个参数相等 小于 大于第二个参数时 返回 等于 小于 大于 0 的值 浮点数只会取整数部分 print_r($arr); ?>
本文实例中仅对ksort用法做了示范,感兴趣的读者可以再测试sort与asort的运行结果,以便加深印象,牢固掌握。希望本文实例对大家PHP程序设计有所帮助。
相关推荐
-
php根据某字段对多维数组进行排序的方法
本文实例讲述了php根据某字段对多维数组进行排序的方法.分享给大家供大家参考.具体分析如下: 根据某字段对多维数组进行排序,在看到array_multisort方法的作用时突然想到,可以用来做这个方法 这段代码可实现根据field字段对数组进行排序 function sortArrByField(&$array, $field, $desc = false){ $fieldArr = array(); foreach ($array as $k => $v) { $fieldArr[$k]
-
php数组中包含中文的排序方法
php数组中文排序,文件格式一般用utf8,直接用asort排序不行.若是gbk和gb2312可以.这跟编码有关.gbk和gb2312本身的编码就是用拼音排序的. 复制代码 代码如下: function utf8_array_asort(&$array) {if(!isset($array) || !is_array($array)) { return false;}foreach($array as $k=>$v) { $array[$k] = iconv('UTF-8', 'GB23
-
php数组排序usort、uksort与sort函数用法
本文实例讲述了php数组排序usort.uksort与sort函数用法.分享给大家供大家参考.具体用法分析如下: 对数组排序:usort() 函数使用用户自定义的函数对数组排序,实例代码如下: 复制代码 代码如下: function cmp($a, $b) //用户自定义回调函数 { if($a==$b) //如果两个参数相等 { return 0; //返回0 } return($a>$b)?-1:1; //如果
-
php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】
本文实例讲述了php实现有序数组打印或排序的方法.分享给大家供大家参考,具体如下: 有序的数组打印或排序对于php来讲非常的简单了这里整理了几个不同语言的做法的实现代码,具体的我们一起来看这篇php中有序的数组打印或排序的例子吧. 最近有个面试题挺火的--把2个有序的数组打印或排序,刚看到这个题的时候也有点蒙,最优的算法肯定要用到有序的特性. 思考了一会发现也不是很难,假如数组是正序排列的,可以同时遍历2个数组,将小的值进行排序,最后会遍历完一个数组,留下一个非空数组,而且剩下的值肯定大于等于已
-
PHP排序之二维数组的按照字母排序实现代码
复制代码 代码如下: <?php /** * Sort an two-dimension array by some level two items use array_multisort() function. * * sysSortArray($Array,"Key1","SORT_ASC","SORT_RETULAR","Key2"--) * @author Chunsheng Wang <wwccss@26
-
php关于array_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);
-
PHP二维数组排序的3种方法和自定义函数分享
关于排序一般我们都是通过数据库或者nosql(eg:redis)先排好序然后输出到程序里直接使用,但是有些时候我们需要通过PHP直接来对数组进行排序,而在PHP里存储数据用到最多的就是对象和数组,但处理较多的就是数组,因为有非常丰富的内置函数库(其实对象一定程度上也可以理解为是数组),这些函数库很大程度上可以帮助我们实现某些功能.常用的系统函数有sort.asort.arsort.ksort.krsort等等,这里我主要说下对二维数组的排序,两种方法: 一.用PHP自带array_multiso
-
php 数组操作(增加,删除,查询,排序)等函数说明第1/2页
数据增加,删除,查询,排序详细说明 对数组的添加(首尾数据添加(不限定条数)以及中间任意位置添加数据操作) . 2-对数组的删除(首尾的数据删除(不限定条数)以及中间任意位置的数据删除操作,条件:对数组中间位置删除的,后面的值往前挪,接上以前的位置) . 3-对数据的排序操作(排序操作,要的是效率) . 4-对数组的查询(对数组中的某一数据进行查询,如果满足,则生成新的数组,这个新的数组就是满足查询条件的,条件:查询,并不是查询某一个值,还有查询某一个值满足某个条件,举个例子:查询数组中某个值大
-
php array_map array_multisort 高效处理多维数组排序
对多维数组排序,通用的作法是1 获取利用排序的数据并且将其放入数组$arrSort. 其中键索引为要排序数组的索引,保证唯一性 2 利用排序函数sort等对$arrSort进行排序. 3 遍历$arrSort, 根据其索引,获取多维数组的数据,重新构造排序后的多维数组. 复制代码 代码如下: Array ( [0] => Array ( [link] => test [name] => test.rpm [type] => file [size] => 988.9k [mti
-
php二维数组排序方法(array_multisort usort)
例如像下面的数组: 复制代码 代码如下: $users = array( array('name' => 'tom', 'age' => 20) , array('name' => 'anny', 'age' => 18) , array('name' => 'jack', 'age' => 22)); 希望能按照age从小到大进行排序.笔者整理了两个方法出来,分享给大家. 1.使用array_multisort 使用这个方法,会比较麻烦些,要将age
-
php对二维数组按指定键值key排序示例代码
复制代码 代码如下: function array_sort($array, $key){ if(is_array($array)){ $key_array = null; $new_array = null; for( $i = 0; $i < count( $array ); $i++ ){ $key_array[$array[$i][$key]] = $i; } ksort($key_array); $j = 0; foreach($key_array as $k => $v){ $ne
-
php实现数组按指定KEY排序的方法
本文实例讲述了php实现数组按指定KEY排序的方法.分享给大家供大家参考.具体实现方法如下: function array_sort($arr,$keys,$orderby='asc'){ $keysvalue = $new_array = array(); foreach ($arr as $k=>$v){ $keysvalue[$k] = $v[$keys]; } if($orderby== 'asc'){ asort($keysvalue); }else{ arsort($keysvalu
随机推荐
- 如何做一个文本书写器?
- 理解Angular的providers给Http添加默认headers
- JavaScript 面向对象编程(1) 基础
- 介绍几个ASP.NET中容易忽略但却很重要的方法函数
- 不能使用“;文件已在使用中 Microsoft JET Database Engine
- InnoDB引擎数据库主从复制同步新的分享
- web目录下不应该存在多余的程序(安全考虑)
- JavaScript阻止事件冒泡示例分享
- Shell脚本制作的终端会话回放功能脚本分享
- 简单方法判断JavaScript对象为null或者属性为空
- jQuery插件HighCharts实现气泡图效果示例【附demo源码】
- BootStrap网页中代码显示<code><pre>用法详解
- javascript动态生成树形菜单的方法
- Spring Boot 发送邮件功能案例分析
- orm获取关联表里的属性值
- 解析StreamReader与文件乱码问题的解决方法
- Android开发中Intent传递对象的方法分析
- Android开发中方向传感器定义与用法详解【附指南针实现方法】
- Python切片工具pillow用法示例
- Python用csv写入文件_消除空余行的方法