dozc58418381 2015-02-09 16:37
浏览 33
已采纳

排序多维数组的最有效方法(php)

I am looking for the most efficient way to sort a multidimensional array in php.I want to sort the array by the value name in [result][index][kl][0]. What is the fastest way to do this? My array has like 100 elements. My array looks like this:

Array
(
[jsonrpc] => 2.0
[id] => req-002
[result] => Array
    (
        [0] => Array
            (
                [type] => subst
                [lsid] => 11
                [date] => 20150209
                [startTime] => 955
                [endTime] => 1040
                [kl] => Array
                    (
                        [0] => Array
                            (
                                [id] => 29
                                [name] => S12UB
                            )

                    )

            )

        [1] => Array
            (
                [type] => subst
                [lsid] => 11
                [date] => 20150209
                [startTime] => 1045
                [endTime] => 1130
                [kl] => Array
                    (
                        [0] => Array
                            (
                                [id] => 29
                                [name] => S12UB
                            )

                    )

            )

Thank you.

  • 写回答

2条回答 默认 最新

  • duanchi4184 2015-02-09 16:49
    关注

    Use a user-defined sort function, like usort along with strcmp:

    function compareByName($a, $b) {
        // the strcmp returns a numeric value above or below 0 depending on the comparison
        return strcmp($a['k1'][0]['name'], $b['k1'][0]['name']);
    }
    

    Then, assuming your multi-dimensional array is named $array, replace the multi-dimensional array $array['result'] with the newly sorted array:

    $array['result'] = usort($array['result'], 'compareByName');
    

    The documentation for the usort and strcmp should be self-explanatory for understanding how the code works above.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟
  • ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
  • ¥15 前端echarts坐标轴问题