博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP经验——数组自定义排序之多维数组排序
阅读量:7062 次
发布时间:2019-06-28

本文共 1459 字,大约阅读时间需要 4 分钟。

今天遇到一个问题,是这样的——给你源数据,排序好后写入一个csv文件,原格式如下:

60177=tfido=Ifmail FidoNet 兼容邮寄服务 60179=fido=FidoNet 电子邮件和新闻网络 10082=amandaidx=Amanda 备份服务 10083=amidxtape=Amanda 备份服务 1178=skkserv=简单假名到汉字(SKK)日文输入服务器 1313=xtel=法国 Minitel 文本信息系统 15=netstat=网络状态(netstat) 1529=support [prmsd, gnatsd]=GNATS 错误跟踪系统 2=nbp=名称绑定协议 2003=cfinger=GNU Finger 服务 22289=wnn4_Cn=cWnn 中文输入系统 22305=wnn4_Kr=kWnn 韩文输入系统 22321=wnn4_Tw=tWnn 中文输入系统(台湾) 2430=venus=用于 Coda 文件系统(codacon 端口)的 Venus 缓存管理器 2430=venus=用于 Coda 文件系统(callback/wbc interface 界面)的 Venus 缓存管理器 2431=venus-se=Venus 传输控制协议(TCP)的副作用 2431=venus-se=Venus 用户数据报协议(UDP)的副作用 2432=codasrv=Coda 文件系统服务器端口 2433=codasrv-se=Coda 文件系统 TCP 副作用 2433=codasrv-se=Coda 文件系统 UDP SFTP 副作用 3128=squid=Squid 万维网代理缓存 4=echo=AppleTalk Echo 协议 4557=fax=FAX 传输服务(旧服务) 4559=hylafax=HylaFAX 客户-服务器协议(新服务) 465=smtps=通过安全套接字层的简单邮件传输协议(SMTPS)

 

我的方法是file函数读入,然后foreach循环得到一个二维数组:

$value){ $data[] = explode('=',$value); }?>

这个二维数组的格式就成为这样:

array([0]=>23,[1]=>Telnet,[2]=>'远程。。') [1]=>array([0]=>2,[1]=>Telnet,[2]=>'远程。。'))?>

想了想用PHP的函数进行排序,突然发现,这个是二维数组,PHP自身的排序大多是针对一维的,这是只好使用Usort函数自定义排序了。代码如下,欢迎指正~~

$value){ $data[] = explode('=',$value); } function arrSort($a,$b){ if(!is_array($a)||!is_array($b)){ echo $a,$b; die('出现非数组'); } return ($a[0]>$b[0])?1:-1; } usort($data,'arrSort'); ?>

转载于:https://www.cnblogs.com/picaso/archive/2012/10/07/2714072.html

你可能感兴趣的文章
图片自适应宽度显示正方形
查看>>
如何提高队列的消息处理效率
查看>>
C#实现打印功能
查看>>
Filter接口编写过滤器
查看>>
Java中的代理
查看>>
Android深度探索读后感 第三章
查看>>
Qt内部机制及逆向
查看>>
关于photoshop钢笔工具中各点对应到“贝塞尔曲线”中的含义(cocos2d-x与iOS)
查看>>
850 USB 烧录模式
查看>>
I.MX6 PLL5 clock hakcing
查看>>
Aidl
查看>>
顺序表的静态建立
查看>>
「技巧」如何快速安装 Sketch 插件
查看>>
C#中对文件的操作小结
查看>>
事件流
查看>>
苹果中毒员工称症状复发:入住当地医院遭拒
查看>>
[2039]数据结构上机实验之二分查找
查看>>
php foreach 看鸟哥的记录,存档
查看>>
numpy数组及处理:效率对比
查看>>
javascript事件模型
查看>>