家伙!我有一个包含我的产品ID和名称的数据库。我需要找到每种产品的不同颜色 - 它们具有重复的名称。我尝试了很多东西,但我仍然没有运气,因为一种产品可能有5种颜色。它需要一行接一行地检查(因为在开头可能有一个产品使用相同的名称,这不是一个不同的颜色,而是一个不同的产品)。有人可以帮帮我吗?谢谢!
此:
array(
0 => array('D41596', 'ДАМСКИ КОМПЛЕКТ БЛУЗА ТРИКО'),
1 => array('D41597', 'ДАМСКИ КОМПЛЕКТ БЛУЗА ТРИКО С ПОЛА BALMAIN 5310'),
2 => array('D41599', 'ДАМСКИ КОМПЛЕКТ БЛУЗА ТРИКО С ПОЛА BALMAIN 5310'),
3 => array('D41600', 'ДАМСКИ КОМПЛЕКТ БЛУЗА С ПОЛА РАЕ 1736'),
4 => array('D41601', 'ДАМСКИ КОМПЛЕКТ БЛУЗА С ГАЩЕРИЗОН 613 НА БОЛИНКИ'),
5 => array('D41602', 'ДАМСКИ КОМПЛЕКТ БЛУЗА С ГАЩЕРИЗОН 613 НА БОЛИНКИ'),
6 => array('D41603', 'ДАМСКИ КОМПЛЕКТ БЛУЗА С ПАНТАЛОН 615'),
7 => array('D41604', 'ДАМСКИ КОМПЛЕКТ БЛУЗА С ПАНТАЛОН 615'),
8 => array('D41605', 'ДАМСКИ КОМПЛЕКТ КЪС ПАНТАЛОН С ТОП САТЕН'),
9 => array('D41606', 'ДАМСКИ КОМПЛЕКТ КЪС ПАНТАЛОН С ТОП САТЕН'),
10 => array('D41607', 'ДАМСКИ КОМПЛЕКТ КЪС ПАНТАЛОН С ТОП САТЕН'),
11 => array('D41608', 'ДАМСКИ КОМПЛЕКТ ДЪНКИ С БЛУЗА ТРИКО 062 ФЛАМИНГО'),
12 => array('D41609', 'ДАМСКИ КОМПЛЕКТ КЪС ДЪНКОВ ПАНТАЛОН С БЛУЗА ТРИКО 085 КОЛИБРИ'),
13 => array('D41610', 'ДАМСКИ КОМПЛЕКТ КЪС ДЪНКОВ ПАНТАЛОН С БЛУЗА ТРИКО 075 ЦВЕТЯ ОТ ПАЕТИ'),
14 => array('D41611', 'ДАМСКИ КОМПЛЕКТ ДЪНКОВА ПОЛА С БЛУЗА ТРИКО 072 ЛИЛАВИ ЦВЕТЯ С ПАЕТИ')
);
应输出:
array(
'D41597' => 'D41597,D41599',
'D41599' => 'D41597,D41599',
'D41601' => 'D41601,D41602',
'D41602' => 'D41601,D41602',
'D41603' => 'D41603,D41604',
'D41604' => 'D41603,D41604',
'D41605' => 'D41605,D41606,D41607',
'D41606' => 'D41605,D41606,D41607',
'D41607' => 'D41605,D41606,D41607'
);
答案 0 :(得分:0)
这段代码可以解决问题。基本上,它循环ID并检查具有相同名称的事件,然后将找到的项目ID添加到结果表中:
$results = array();
foreach ($arr as $element) {
list ($key, $value) = $element;
$searchResults = array();
foreach ($arr as $searchElement) {
if ($searchElement[1] == $value) {
$searchResults[] = $searchElement[0];
}
}
if (sizeof($searchResults) > 1) {
$results[$key] = implode(',', $searchResults);
}
}
print_r($results);
Array
(
[D41597] => D41597,D41599
[D41599] => D41597,D41599
[D41601] => D41601,D41602
[D41602] => D41601,D41602
[D41603] => D41603,D41604
[D41604] => D41603,D41604
[D41605] => D41605,D41606,D41607
[D41606] => D41605,D41606,D41607
[D41607] => D41605,D41606,D41607
)