我该如何排序这个数组

时间:2012-07-06 09:00:29

标签: php arrays sorting

我使用以下脚本

对数组进行了分组
$grouped_array = array();       
foreach($ungrouped_array as $item) {
    //group them by id
    $grouped_array[$item['id']][] = $item;
}

现在这个分组的数组看起来像这样

array(3) {
  [1]=>
  array(2) {
    [0]=>
    array(1) {
      ["id"]=>
      string(1) "1"
    }
    [1]=>
    array(1) {
      ["id"]=>
      string(1) "1"
    }
  }

  [6]=>
  array(1) {
    [0]=>
    array(1) {
      ["id"]=>
      string(1) "6"
    }
  }

  [2]=>
  array(4) {
    [0]=>
    array(1) {
      ["id"]=>
      string(1) "2"
    }
    [1]=>
    array(2) {
      ["id"]=>
      string(1) "2"
      ["sub"]=>
      string(1) "1"
    }
    [2]=>
    array(2) {
      ["id"]=>
      string(1) "2"
      ["sub"]=>
      string(1) "2"
    }
    [3]=>
    array(1) {
      ["id"]=>
      string(1) "2"
    }
  }
}

我删除了数组的大部分内容以缩短它,但此分组数组中没有[0]字段  所有数组字段的名称都为[id]的值。我没有问题,我只需要通过[ID]

再次缩短它

任何建议都会很棒。

1 个答案:

答案 0 :(得分:1)

这应该可以得到1,2,6:

<?php
$grouped_array = array();       
foreach($ungrouped_array as $item) {
    $grouped_array[$item['id']][] = $item;
}

// sort by key.
ksort( $grouped_array, SORT_NUMERIC );

print_r( $grouped_array );