php数组在key中重新排序值

时间:2012-04-01 23:21:05

标签: php arrays

有时我在数组列表中有4,5,1,2,有时1,2,4,5。我如何重新排序[list] ASC中的值,所以我将在所有[list]字段中有1,2,4,5和1,2,3等?谢谢。

Array
(
    [0] => DibiRow Object
        (
            [storage:ArrayObject:private] => Array
                (
                    [d] => 2012-04-03 08:30:00
                    [list] => 4,5,1,2
                )

        )

    [1] => DibiRow Object
        (
            [storage:ArrayObject:private] => Array
                (
                    [d] => 2012-04-03 09:00:00
                    [list] => 1,2,4,5
                )

        )

    [2] => DibiRow Object
        (
            [storage:ArrayObject:private] => Array
                (
                    [d] => 2012-04-03 09:00:00
                    [list] => 3,1,2                    )

        )
    [3] => DibiRow Object
        (
            [storage:ArrayObject:private] => Array
                (
                    [d] => 2012-04-03 09:00:00
                    [list] => 1,2,3                    )

        )

3 个答案:

答案 0 :(得分:0)

首先尝试阅读有关bubble sorting的内容。然后google它,找到一些examples并尝试自己动手。如果您仍然遇到问题,请再次返回并ask,指明您尝试过的内容以及您认为方法错误的内容。

答案 1 :(得分:0)

谢谢你。我找到了这个解决方案(不知道它是否对大数据有效):

for ($i = 0; $i < count($all) ; $i++) {
  $num = $all[$i][list];
  $resort = explode(",", $num);
  sort($resort);
  $resort = implode(",", $resort); 
  $all[$i][list] = $resort;
}

答案 2 :(得分:0)

如果这是基于我写过的上一个查询结果中的GROUP_CONCAT,您只需将ORDER BY添加到GROUP_CONCAT() -

GROUP_CONCAT(DISTINCT user_bookings.user_id ORDER BY user_bookings.user_id)