免费注册 查看新帖 |

Chinaunix

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

请教数组排序问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-05 16:12 |只看该作者 |倒序浏览
有数组

$fields[0]=array('a','b','c',1);
$fields[1]=array('a','b','c',3);
$fields[2]=array('a','b','c',5);
$fields[3]=array('a','b','c',2);
$fields[4]=array('a','b','c',4);
$fields[5]=array('a','b','c',7);
$fields[6]=array('a','b','c',6);


如何让$fields根据array里的最后一项数字排序呢? 排序为
$fields[0]=array('a','b','c',1);
$fields[1]=array('a','b','c',2);
$fields[2]=array('a','b','c',3);
$fields[3]=array('a','b','c',4);
$fields[4]=array('a','b','c',5);
$fields[5]=array('a','b','c',6);
$fields[6]=array('a','b','c',7);

论坛徽章:
0
2 [报告]
发表于 2008-01-05 17:01 |只看该作者
<?php
$fields[0]=array('a','b','c',1);
$fields[1]=array('a','b','c',3);
$fields[2]=array('a','b','c',5);
$fields[3]=array('a','b','c',2);
$fields[4]=array('a','b','c',4);
$fields[5]=array('a','b','c',7);
$fields[6]=array('a','b','c',6);

function tidyarray($array,$item) {

&nbsp;&nbsp;&nbsp;&nbsp;foreach ($array as $key => $val) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$new[] = $val[$item];
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;sort($new);
&nbsp;&nbsp;&nbsp;&nbsp;for($i=0;$i<count($array);$i++) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$array[$i][$item] = $new[$i];
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;return $array;
}

print_r(tidyarray($fields,3));
?>


[ 本帖最后由 hqnpc 于 2008-1-5 17:03 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2008-01-05 17:35 |只看该作者
十分感谢上面的高手

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
4 [报告]
发表于 2008-01-05 23:21 |只看该作者
原帖由 小强007 于 2008-1-5 16:12 发表
有数组

$fields[0]=array('a','b','c',1);
$fields[1]=array('a','b','c',3);
$fields[2]=array('a','b','c',5);
$fields[3]=array('a','b','c',2);
$fields[4]=array('a','b','c',4);
$fields[5]=arra ...

<?php
$fields[0]=array('a','b','c',1);
$fields[1]=array('a','b','c',3);
$fields[2]=array('a','b','c',5);
$fields[3]=array('a','b','c',2);
$fields[4]=array('a','b','c',4);
$fields[5]=array('a','b','c',7);
$fields[6]=array('a','b','c',6);

uasort($fields, create_function('$a,$b','return $a[3]==$b[3]?0$a[3]>$b[3])?1:-1);'));
print_r($fields);
?>

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
5 [报告]
发表于 2008-01-05 23:22 |只看该作者
uasort用usort也可。

看你的实际需要。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP