我在PHP中有一个二维数组,第一个索引是索引中项目的名称,其他索引是项目的其他信息。第一个索引中有重复的名称,但第二个索引中没有。
我想要做的是将数组添加到表中,但只有每个名称显示一次,并且第二个索引中的所有唯一数据都显示在下拉列表中(选择标记)。
所以我有:
$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
我想要的是一张带
的表格foo | (select from 1-3)
bar | (select from 4-5)
答案 0 :(得分:0)
<?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);