php的array_multisort()使用

该文章是我发布在cnblogs上的,也是自己原创的,直接给复制过来的,所以做为转载吧。原文地址:http://www.cnblogs.com/cntnn11/archive/2012/05/03/cntnn11_array_multisort.html 

这段时间做数据统计,产品那边要求数据能按高到低排序,想了很多方法,都不行。最后找到PHP的array_multisort()方法。虽然实现了效果,但对这个方法还是半董半董

下边就是使用的实例,手册上的例子不列了,就我自己工作中的几个。

工作中碰到最多的可能就是二维数组了,想试试三维数组,但是想想还是算了。

 1 header('Content-Type: text/html; charset=utf-8');
 2 echo '<pre>';
 3 //原始数组格式
 4 $array = array(
 5     'key1' => array(
 6         'item1' => '65',
 7         'item2' => '35',
 8         'item3' => '84',
 9     ),
10     'key2' => array(
11         'item1' => '24',
12     ),
13     'key3' => array(
14         'item1' => '38',
15         'item3' => '45',
16     ),
17 );
18 //要排序的键
19 //按照数组中的 item1进行排序
20 //你也可以换成item2
21 $sort = 'item1';
22 foreach($array as $k => $v)
23 {
24     $newArr[$k] = $v[$sort];
25 }
26 //这个函数如果执行正确他会直接改变原数组键值的顺序
27 //如果执行失败,那么他会返回 bool(false)
28 array_multisort($newArr,SORT_DESC, $array);
29 var_dump($array);
30 //---------------------排序后的数组打印效果 开始--------------------
31 array(3) {
32   ["key1"]=>
33   array(3) {
34     ["item1"]=>
35     string(2) "65"
36     ["item2"]=>
37     string(2) "35"
38     ["item3"]=>
39     string(2) "84"
40   }
41   ["key3"]=>
42   array(2) {
43     ["item1"]=>
44     string(2) "38"
45     ["item3"]=>
46     string(2) "45"
47   }
48   ["key2"]=>
49   array(1) {
50     ["item1"]=>
51     string(2) "24"
52   }
53 }
54 //---------------------排序后的数组打印效果 结束---------------------

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值