duancheng6221 2017-06-07 12:57
浏览 30
已采纳

使用具有排序键的另一个数组对数组进行排序

How to sort an 1st array with 2nd array which has sorted keys in 2nd array without using any loop.

1st Array.

$chunk = array(
                [0] => Array
                    (
                        [id] => 212
                        [order] => 1
                        [title] => fdfdfdfdf
                    )

                [1] => Array
                    (
                        [id] => 5
                        [order] => 2
                        [title] => 
                    )

                [2] => Array
                    (
                        [id] => 781
                        [order] => 3
                        [title] => 
                    )
            )

2nd array with sorted keys of 1st array.

$sort = array
    (
        [2] => 2
        [0] => 0
        [1] => 1
    )
  • 写回答

2条回答 默认 最新

  • dongling0519 2017-06-07 13:22
    关注

    You could use array_map for that:

    $arr = array_map(function($val) use($chunk){
        return $chunk[$val];
    }, $sort);
    

    This is the output:

    Array
    (
        [2] => Array
            (
                [id] => 781
                [order] => 3
                [title] => 
            )
    
        [0] => Array
            (
                [id] => 212
                [order] => 1
                [title] => fdfdfdfdf
            )
    
        [1] => Array
            (
                [id] => 5
                [order] => 2
                [title] => 
            )
    
    )
    

    Now, if you want the keys to be 0,1,2..., you can use array_values, after mapping:

    $arr = array_values($arr);
    

    And the output:

    Array
    (
        [0] => Array
            (
                [id] => 781
                [order] => 3
                [title] => 
            )
    
        [1] => Array
            (
                [id] => 212
                [order] => 1
                [title] => fdfdfdfdf
            )
    
        [2] => Array
            (
                [id] => 5
                [order] => 2
                [title] => 
            )
    
    )
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥50 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?