简体   繁体   English

我如何排序此数组

[英]How do I sort this array

I grouped an array using the following script 我使用以下脚本将数组分组

$grouped_array = array();       
foreach($ungrouped_array as $item) {
    //group them by id
    $grouped_array[$item['id']][] = $item;
}

Now this grouped array looks like this 现在,这个分组数组看起来像这样

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"
    }
  }
}

I have deleted the most part of the array to make it shorter but there is no [0] field in this grouped array All array fields are given the name of [id] 's value. 我删除了数组的大部分内容以使其更短,但此分组数组中没有[0]字段。所有数组字段均被赋予[id]值的名称。 I have no problem with that, I just have to short it again by [ID] 我对此没有问题,我只需要再次按[ID]短接即可

any suggestion will be great. 任何建议都会很棒。

This should work to get 1, 2, 6: 这应该可以得到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 );

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM