PHP根据id重新排列数据

MMMM:
Array
(
    [0] => Array
        (
            [id] => 1
            [member_id] => 8
            [total] => 5
            [mainroomid] => 2         
        )

    [1] => Array
        (
            [id] => 2
            [member_id] => 11
            [total] => 2
            [mainroomid] => 2
        )

    [2] => Array
        (
            [id] => 3
            [member_id] => 8
            [total] => 8
            [mainroomid] => 2

        )

    [3] => Array
        (
            [id] => 4
            [member_id] => 11
            [total] => 3
            [mainroomid] => 2
        )

    [4] => Array
        (
            [id] => 5
            [member_id] => 29
            [total] => 4
            [mainroomid] => 2

        )

    [5] => Array
        (
            [id] => 6
            [member_id] => 8
            [total] => 5
            [mainroomid] => 1
        )

    [6] => Array
        (
            [id] => 7
            [member_id] => 11
            [total] => 3
            [mainroomid] => 1
        )
)

上面的数据是从MySQL数据库返回的,我的逻辑在这里卡住了,这是我想相应地循环数据并将数据重新排列到一个新的数组中。这是否意味着我需要对所有相同的成员ID进行总计,并根据mainroomid进行区分。任何人都可以帮助您解决这个问题:(?以下是我需要显示的数据。

最终数据

[0] => Array

    (
      [0] => Array(

               [member_id] => 8
               [total] => 13
               [mainroomid] => 2 
            )

      [1] => Array(

               [member_id] => 11
               [total] => 5
               [mainroomid] => 2 
            )

      [2] => Array(

             [member_id] => 29
             [total] => 4
             [mainroomid] => 2 
          )
     )

[1] => Array

    (
      [0] => Array(

               [member_id] => 8
               [total] => 5
               [mainroomid] => 1 
            )

      [1] => Array(

               [member_id] => 11
               [total] => 3
               [mainroomid] => 1
            )
     )
Kurt Friars:

通过使用sortBygroupBy方法,您可以使用laravel的集合轻松做到这一点

// Lets say $data contains the data you listed above.

$sorted = collect($data)->sortBy('member_id')->groupBy('mainroomid')->values()->toArray();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章