php的二维数组排序
//建立一个$arr的二维数组
$arr=array(
array('name'=>'e','age'=>5),
array('name'=>'b','age'=>2),
array('name'=>'a','age'=>1),
array('name'=>'c','age'=>3),
array('name'=>'d','age'=>4),
);
介绍俩函数 strnatcmp 和 strncmp
//比较字符串俩个大小的函数
echo strnatcmp("ac",'ab')."<br/>";//输出1
echo strncmp("ac",'ab',1)."<br/>";//输出0 因为这个函数有第三个参数 限制了仅比较1位 也就是只比较a
//使用 usort 来进行排序 使用用户自定义的比较函数对数组中的值进行排序
//按 键值 name 大小来排序
usort($arr,function($a,$b){
return strnatcmp($a['name'],$b['name']);// 直接比较 二维数组的 name字段 进行 asc排序
});
dump($arr);
//按键值 name 的长度排序
usort($arr,function ($a,$b)
{
if(strlen($a['name'])==strlen($b['name']))
return 0;
return (strlen($a['name']) > strlen($b['name']))?1:0;
});
dump($arr);
打印函数
function dump($data)
{
echo "<pre>";
print_r($data);
echo "</pre>";
}
sort 对数组排序一般适用于一维索引数组,不会保持索引
rsort 对数组逆向排序 和sort用法一致
asort 对数组进行排序并保持索引关系对值进行排序,一般适用于一维数组,保持索引关系
arsort 对数组进行逆向排序并保持索引关系和asort用法一致
ksort 对数组按照键名排序
krsort 对数组按照键名逆向排序
php的二维数组排序的更多相关文章
- JS二维数组排序组合
需求是这样的:http://q.cnblogs.com/q/29093/ 这里简述一下: 现在有一个不确定长度的数组.比如:var temp=[["Fu","Hai&qu ...
- PHP二维数组排序(list_order)
/** * 对二维数组进行排序 * 模拟 数据表记录按字段排序 * * <code> * @list_order($list, $get['orderKey'], $get['orderT ...
- PHP array_multisort() 函数详解 及 二维数组排序(模拟数据表记录按字段排序)
一.先看最简单的情况. 有两个数组: $arr1 = array(1, 9, 5); $arr2 = array(6, 2, 4); array_multisort($arr1, $arr2); pr ...
- php基础篇-二维数组排序 array_multisort
原文:php基础篇-二维数组排序 array_multisort 对2维数组或者多维数组排序是常见的问题,在php中我们有个专门的多维数组排序函数,下面简单介绍下: array_multisort(a ...
- PHP二维数组排序(感谢滔哥)
滔哥原创 /* _ooOoo_ o8888888o 88" . "88 (| -_- |) O\ = /O ____/`---'\____ .' \\| |// `. / \\|| ...
- PHP 二维数组排序保持键名不变
对二维数组指定的键名排序,首先大家想到的是array_multisort函数,关于array_multisort的用法我之前也写了一篇废话不多言,我们看个实例: <?php $data = ar ...
- 一个不错的PHP二维数组排序函数简单易用存用
一个不错的PHP二维数组排序函数简单易用存用 传入数组,传入排序的键,传入排序顺序 public function array_sort($arr,$keys,$type='asc') { $keys ...
- PHP二维数组排序(感谢滔哥lvtao.net)
滔哥原创 /* _ooOoo_ o8888888o 88" . "88 (| -_- |) O\ = /O ____/`---'\____ .' \\| |// `. / \\|| ...
- JS:二维数组排序和获取子级元素
JS:二维数组排序和获取子级元素 1. 二维数组排序 1.按数值排序 var arr = [[1, 2, 3], [7, 2, 3], [3, 2, 3]]; 如果我们要按每个子数组的第一列来排序要如 ...
- php实现二维数组排序array_multisort($ages, SORT_DESC, $home)函数
1.sql查询排序参数是order by,那么php进行排序呢 可以参考array_multisrot函数 //php进行二维数组排序 -xzz1009 foreach($home as $home) ...
随机推荐
- 《github一天一道算法题》:并归排序
看书.思考.写代码! /******************************************* * copyright@hustyangju * blog: http://blog.c ...
- OSX: Scripts,让BootCamp在不论什么Mac上支持生成Windows7的USB安装盘
为什么要做这个呢,由于BootCamp仅仅有在默认的Mac上才会有生成USB安装盘的选项.这个脚本就是为了确保用户使用它在不论什么一个Mac机器上都能够生成Windows的USB安装盘.当然了,假设你 ...
- Ubuntu Linux訪问小米手机存储卡
操作系统: 麒麟14.04 安装工具 sudo apt-get install mtpfs libfuse-dev libmad0-dev sudo mkdir /media/mtp 重新启动与使用 ...
- python自动化--字符串和整数的转换,while的循环体
字符串(str)和整数(int)类型变量的结合 *遵循只有同一类型的变量才可以结合. *不同类型的变量之间的转换 实例:实现打印出"192.168.100"和1的结合出" ...
- 自学Zabbix3.6.3-触发器triggers expression表达式
触发器中的表达式使用很灵活,我们可以创建一个复杂的逻辑测试监控,触发器表达式形式如下: 1 {<server>:<key>.<function>(<param ...
- Linux:快速找到占用CPU过高的Thread
1.通过top命令找到高耗CPU的进程,记下PID 2.使用命令ps -mp PID -o THREAD,tid,time找到高耗CPU的那些线程 3.jstack PID 4.对每个高耗CPU的线程 ...
- 《深入理解计算机系统》【PDF】下载
<深入理解计算机系统>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382303 内容提要 本书主要介绍了计算机系统的基本概念,包 ...
- 如何用VSCode愉快的写Python
在学习Python的过程中,一直没有找到比较趁手的第三方编辑器,用的最多的还是Python自带的编辑器.由于本人用惯了宇宙第一IDE(Visual Studio),所以当Visual Studio C ...
- linux集群批量执行命令
因为工作需要,需要修改集群中机器的配置,一台一台的修改太浪费时间,就想能不能通过自动化脚本批量执行命令,尝试写一个,自己shell不熟悉,写的有点渣渣 if [ "$#" -ne ...
- lua 批量重命名文件
local s = io.popen("dir F:\\headicon /b/s") local filelist = s:read("*all") loca ...