php比较多维数组中值的大小排序实现代码

时间:2023-11-24 13:22:32 

如果值没有重复的情况,可以先用array_flip()来交换键和值,然后krsort(),最后再array_flip()交换回来,就可以比较大小了。如果要截取数组,可用array_slice()。
如果有值重复的情况,就要用到一些排序算法了,不过php有很强大的函数uasort(),使用自定义的比较函数对数组中的值进行排序并保持索引关联,usort()则会重建索引。


function cmp($a, $b){
if ($a["vote_num"] == $b["vote_num"]) {
return 0;
}
return ($a["vote_num"] > $b["vote_num"]) ? -1 : 1;
}
$arr = Array
(
0 => Array
(
o_id => 1861,
o_name => 2,
o_pic => 'http://g.aspxhome.com/image.gif' ,
o_detail => 人人,
vote_num => 1
),
1 => Array
(
o_id => 1844,
o_name => 芭比,
o_pic => 'http://upload.aspxhome.com/game_image/dfxxz/dfVIP.files/shenxiandao.jpg',
o_detail => 也是美女呢,
vote_num => 2
),
2 => Array
(
o_id => 1843,
o_name => 程程,
o_pic => 'http://g.aspxhome.com./upload_img/2011-06/31554_4d0088da7a61ad9c8c02a530be94d98e.png',
o_detail => 美女哦,
vote_num => 3
)
);
uasort($arr, ”cmp“);
echo ‘< pre style="text-align:left" >';
print_r ($arr);
echo ‘< / pre >';


返回


Array
(
[2] => Array
(
[o_id] => 1843
[o_name] => 程程
[o_pic] => http://g.aspxhome.com./upload_img/2011-06/31554_4d0088da7a61ad9c8c02a530be94d98e.png
[o_detail] => 美女哦
[vote_num] => 3
)
[1] => Array
(
[o_id] => 1844
[o_name] => 芭比
[o_pic] => http://upload.aspxhome.com/game_image/dfxxz/dfVIP.files/shenxiandao.jpg
[o_detail] => 也是美女呢
[vote_num] => 2
)
[0] => Array
(
[o_id] => 1861
[o_name] => 2
[o_pic] => http://g.aspxhome.com/image.gif
[o_detail] => 人人
[vote_num] => 1
)
)
标签:多维数组
0
投稿

猜你喜欢

  • pandas数据清洗实现删除的项目实践

    2021-09-02 16:44:17
  • python 贪心算法的实现

    2023-01-25 08:18:50
  • Vue组件公用方法提取mixin实现

    2024-06-07 16:02:47
  • python使用html2text库实现从HTML转markdown的方法详解

    2023-07-18 09:00:03
  • python 实现一个反向单位矩阵示例

    2023-07-27 16:05:51
  • python热力图实现的完整实例

    2023-03-02 17:10:35
  • 系统高吞吐量下的数据库重复写入问题分析解决

    2024-01-17 07:37:21
  • python traceback捕获并打印异常的方法

    2022-11-06 10:35:30
  • Python实现分割文件及合并文件的方法

    2022-01-28 00:02:02
  • 原生js+css调节音量滑块

    2024-04-29 13:17:52
  • 貌似很强的mysql备份策略分享

    2024-01-27 18:37:03
  • mysql千万级数据量根据索引优化查询速度的实现

    2024-01-21 19:16:31
  • uniapp封装小程序雷达图组件的完整代码

    2024-04-17 09:55:26
  • JavaScript设计模式之代理模式简单实例教程

    2024-04-22 12:54:07
  • 使用roolup构建你的lib(实现步骤)

    2022-11-19 13:47:27
  • python 性能优化方法小结

    2022-08-04 21:13:43
  • SQL Server简单模式下误删除堆表记录恢复方法(绕过页眉校验)

    2024-01-15 00:18:11
  • 如何使用索引提高查询速度

    2024-01-15 02:14:15
  • 详细分析Python可变对象和不可变对象

    2021-03-10 22:50:10
  • 使用Python的Bottle框架写一个简单的服务接口的示例

    2023-09-01 17:29:50
  • asp之家 网络编程 m.aspxhome.com