首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在PHP中,如何从二维数组中获取数据,在第一个索引中查找重复的元素,并对另一个索引中的相关元素进行分组

在PHP中,如何从二维数组中获取数据,在第一个索引中查找重复的元素,并对另一个索引中的相关元素进行分组
EN

Stack Overflow用户
提问于 2016-03-19 13:52:49
回答 1查看 30关注 0票数 0

我在PHP中有一个二维数组,第一个索引是索引中项目的名称,其他索引是项目的其他信息。在第一个索引中有重复的名称,但在第二个索引中没有。

我想要做的是将数组添加到表中,但每个名称只显示一次,并且第二个索引中的所有唯一数据都显示在下拉列表中(select标记)。

所以我有:

代码语言:javascript
运行
复制
$array[0][0] = foo
$array[0][1] = foo
$array[0][2] = foo

$array[0][3] = bar
$array[0][4] = bar

代码语言:javascript
运行
复制
$array[1][0] = 1
$array[1][1] = 2
$array[1][2] = 3

$array[1][3] = 4
$array[1][4] = 5

我想要的是一张

代码语言:javascript
运行
复制
foo | (select from 1-3)
bar | (select from 4-5)
EN

回答 1

Stack Overflow用户

发布于 2016-03-19 15:14:30

代码语言:javascript
运行
复制
<?php error_reporting(E_ALL);

$array[0][0] = 'foo';
$array[0][1] = 'foo';
$array[0][2] = 'foo';

$array[0][3] = 'bar';
$array[0][4] = 'bar';

$array[1][0] = 1;
$array[1][1] = 2;
$array[1][2] = 3;

$array[1][3] = 4;
$array[1][4] = 5;

// get new array without duplicate values
$uniqueValueArray = array_unique($array[0]);

$result = [];

foreach ($uniqueValueArray as $value)
{
    $row = ['value' => $value, 'ids' => []];

    // get keys form value array for given value
    $valueKeys = array_keys($array[0], $value);

    // find id form ids array for this value
    foreach ($valueKeys as $key)
    {
        $row['ids'][] = $array[1][$key];
    }

    $result[] = $row;
}

var_dump($result);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36098389

复制
相关文章

相似问题

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