PHP的排序函数的总结
Sort 破坏索引 升序 值排序
Rsort 破坏索引 降序 值排序
Asort 保持索引 升序 值排序
Arsort 保持索引 降序 值排序
Ksort 保持索引 升序 键值排序(key)
Krsort 保持索引 降序 键值排序(key)
Usort
本函数将用用户自定义的比较函数对一个数组中的值(value)进行排序。如果要排序的数组需要用一种不寻常的标准进行排序,那么应该使用此函数。
比较函数必须在第一个参数被认为小于,等于或大于第二个参数时分别返回一个小于,等于或大于零的整数。
Uksort
uksort — 使用用户自定义的比较函数对数组中的键名(key)进行排序
cmp_function 函数应接受两个参数,该参数将被 array 中的一对键名填充。比较函数在第一个参数小于,等于,或大于第二个参数时必须分别返回一个小于零,等于零,或大于零的整数。
Natsort
本函数实现了一个和人们通常对字母数字字符串进行排序的方法一样的排序算法并保持原有键/值的关联,这被称为“自然排序”。本算法和通常的计算机字符串排序算法
bool natcasesort ( array &$array )不区分大小写
本函数实现了一个和人们通常对字母数字字符串进行排序的方法一样的排序算法并保持原有键/值的关联,这被称为“自然排序”。
成功时返回 TRUE, 或者在失败时返回 FALSE.
比如给二维数组的排序,使用到内置函数asort和arsort。
思想是保持$keyvalue 和$arr的键值相同,然后将$arr要排序的那个列赋值给$keyvalue,使用内置函数给$keyvalue排序,
最后根据不变的键值返回$arr的其他列。
function array_sort($arr,$keys,$type='asc')
{
echo'开始排序...'.'</br>';
$keysvalue = $new_array = array();
foreach ($arr as $k=>$v)
{
$keysvalue[$k] = $v[$keys];
}
if($type == 'asc')
{
asort($keysvalue);
}
else
{
arsort($keysvalue);
}
reset($keysvalue);
foreach ($keysvalue as $k=>$v)
{
$new_array[$k] = $arr[$k];
}
echo'排序结束...'.'</br>';
return $new_array;
}
最新文章
- 解决iscroll5在手机页面上onclick事件失效
- 事务的ACID特性
- 深入理解PHP原理之变量分离/引用
- 自定义带有uitableview的alertview对话框
- ORACLE 11G用于有效期
- Redis&#39; High Availability
- SpringMVC 常用注解
- JMeter接口测试系列:Jmeter+jenkins+ant 的自动化构建
- Python文章相关性分析---金庸武侠小说分析
- Android RecyclerView初探
- c#解决浏览器跨域问题
- mysql_事物
- [转]认识JWT
- Linux 查看系统版本和内核
- unity(2017.3) C# 常用API
- jenkins 常见问题汇总
- HANA 与 Oracle 12c哪一个更快
- VS2017插件开发-项目右键菜单
- MSSQL2008 全文索引的创建
- ubuntu16.04下安装pangolin
热门文章
- BZOJ 1189 [HNOI2007]紧急疏散evacuate
- 【面试题】BD
- Codeforces 687C The Values You Can Make(DP)
- ora-00031:session marked for kill处理oracle中杀不掉的锁
- POJ2774 &; 后缀数组模板题
- UVA 11609 - Teams(二项式系数)
- linux ps指令
- hbases索引技术:Lily HBase Indexer介绍
- win7 64位DCOM配置(关于导出excel 配置计算机组件服务)(转)
- ArcGIS几种数据格式