首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将同一键分组到数组中

如何将同一键分组到数组中
EN

Stack Overflow用户
提问于 2019-03-05 11:34:14
回答 2查看 47关注 0票数 0

我有一个问题,如果我有这样的表,并且在字段-2中有相同的值,那么我想让field-2成为我数组的键,所以如果Field-2是相同的值,就意味着它在数组中的键是相同的:

这张桌子是:

代码语言:javascript
复制
    _____________________________
    | Field-1 | Field-2 | Field-3 |
    |_________|_________|_________|
    | row1    |    2    |    S    |
    |_________|_________|_________|
    | row2    |    2    |    A    |
    |_________|_________|_________|
    | row3    |    1    |    S    |
    |_________|_________|_________|
    | row4    |    3    |    S    |
    |_________|_________|_________|
    | row5    |    1    |    A    |
    |_________|_________|_________|
    | row6    |    4    |    A    |
    |_________|_________|_________|
    | row7    |    5    |    S    |
    |_________|_________|_________|
    | row8    |    5    |    A    |
    |_________|_________|_________|

我想要的结果是:

代码语言:javascript
复制
  Array
    (
         [1] => Array
              (
                 [0] => row3
                 [1] => row5
              )
         [2] => Array
              (
                 [0] => row1
                 [1] => row2
              )
         [3] => Array
              (
                 [0] => row4
                 [1] => 
              )
         [4] => Array
              (
                 [0] => 
                 [1] => row6
              )
    [5] => Array
              (
                 [0] => row7
                 [1] => row8
              )
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-05 11:38:34

代码语言:javascript
复制
$output = array();
foreach($input as $array){
 $output[$array['Field-2']][] = $array['Field-1'];
}
ksort($output); // added as per additional requirement.
票数 0
EN

Stack Overflow用户

发布于 2019-03-05 11:38:16

由于您没有提供任何代码以及您的答案,我将起草一些我认为至少与您所使用的类似的代码--这将创建一个数组,遍历表的每一行,并向子数组中添加一个元素,键为第二列中的任何内容。由于它每次添加一个新元素,所以不会覆盖前面的内容。

代码语言:javascript
复制
$array = [];
foreach ($table as $row) {
  $array[$row[1]][] = $row[0];
}
ksort($array); // Sorts the array so that the keys are in ascending order
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55001887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档