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条)

报告相同问题?

悬赏问题

  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器