免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1937 | 回复: 2
打印 上一主题 下一主题

紧急求救一个数组排序方法。[列错了] [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-25 16:40 |只看该作者 |倒序浏览
$fields[0][0]=array('d','3');
$fields[0][1]=array('d','3');
$fields[0][2]=array('d','3');
$fields[0][3]=array('d','3');

$fields[1][0]=array('d','2');
$fields[1][1]=array('d','2');
$fields[1][2]=array('d','2');
$fields[1][3]=array('d','2');

$fields[2][0]=array('d','6');
$fields[2][1]=array('d','6');
$fields[2][2]=array('d','6');
$fields[2][3]=array('d','6');

$fields[3][0]=array('b','5');
$fields[3][1]=array('b','5');
$fields[3][2]=array('b','5');
$fields[3][3]=array('b','5);

$fields[4][0]=array('b','4');
$fields[4][1]=array('b','4');
$fields[4][2]=array('b','4');
$fields[4][3]=array('b','4');

$fields[5][0]=array('b','1');
$fields[5][1]=array('b','1');
$fields[5][2]=array('b','1');
$fields[5][3]=array('b','1');

$fields[6][0]=array('c','8');
$fields[6][1]=array('c','8');
$fields[6][2]=array('c','8');
$fields[6][3]=array('c','8);

$fields[7][0]=array('c','9');
$fields[7][1]=array('c','9');
$fields[7][2]=array('c','9');
$fields[7][3]=array('c','9');

$fields[8][0]=array('c','7');
$fields[8][1]=array('c','7');
$fields[8][2]=array('c','7');
$fields[8][3]=array('c','7');

如何排序,排序方式为:先按array('c','7')这里的字母排序,然后字母排序的基础上,再按array里的数字大小排序。排序结果如下:

$fields[0][0]=array('b','1');
$fields[0][1]=array('b','1');
$fields[0][2]=array('b','1');
$fields[0][3]=array('b','1');

$fields[1][0]=array('b','4');
$fields[1][1]=array('b','4');
$fields[1][2]=array('b','4');
$fields[1][3]=array('b','4');

$fields[2][0]=array('b','5');
$fields[2][1]=array('b','5');
$fields[2][2]=array('b','5');
$fields[2][3]=array('b','5');

$fields[3][0]=array('c','7');
$fields[3][1]=array('c','7');
$fields[3][2]=array('c','7');
$fields[3][3]=array('c','7');

$fields[4][0]=array('c','8');
$fields[4][1]=array('c','8');
$fields[4][2]=array('c','8');
$fields[4][3]=array('c','8);

$fields[5][0]=array('c','9');
$fields[5][1]=array('c','9');
$fields[5][2]=array('c','9');
$fields[5][3]=array('c','9');

$fields[6][0]=array('d','2');
$fields[6][1]=array('d','2');
$fields[6][2]=array('d','2');
$fields[6][3]=array('d','2');

$fields[7][0]=array('d','3');
$fields[7][1]=array('d','3');
$fields[7][2]=array('d','3');
$fields[7][3]=array('d','3');

$fields[8][0]=array('d','6');
$fields[8][1]=array('d','6');
$fields[8][2]=array('d','6');
$fields[8][3]=array('d','6');

上次有高手,给我了一个排序方法,但是只是排其中一个的,谁能把2个排序的做出来下给我。
uasort($fields, create_function('$a,$b','return $a[key($a)][0]==$b[key($b)][0]?0:(($a[key($a)][0]>$b[key($b)][0])?1:-1);'));

[ 本帖最后由 小强007 于 2008-1-26 08:24 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-01-25 21:27 |只看该作者
LZ给出的排序结果实际上没排序,只是改变了赋值语句位置?

论坛徽章:
0
3 [报告]
发表于 2008-01-26 08:18 |只看该作者
楼上说的是,我搞错了,我改过了?

[ 本帖最后由 小强007 于 2008-1-26 08:20 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP