【发布时间】:2015-12-13 16:50:54
【问题描述】:
我是 stackoverflow 的新手,需要一些帮助。
我正在尝试从 PHP 中的多维数组中删除重复项,例如:
Array (
[0] => Array ( [Plat] => hello [Data] => 01/01/2015 [Term] => PHP [Quan] => 1 )
[1] => Array ( [Plat] => hello [Data] => 01/01/2015 [Term] => PHP [Quan] => 1 )
[2] => Array ( [Plat] => hello [Data] => 03/01/2015 [Term] => PHP [Quan] => 1 )
[3] => Array ( [Plat] => hello [Data] => 03/01/2015 [Term] => PHP [Quan] => 1 )
[4] => Array ( [Plat] => hello [Data] => 03/01/2015 [Term] => PHP [Quan] => 1 )
[5] => Array ( [Plat] => hello [Data] => 03/01/2015 [Term] => PHP [Quan] => 1 )
)
并创建一个数组,删除重复项并将其添加到Quan 中找到的重复项数,如下所示(按数据过滤):
Array (
[0] => Array ( [Plat] => hello [Data] => 01/01/2015 [Term] => PHP [Quan] => 2 )
[1] => Array ( [Plat] => hello [Data] => 03/01/2015 [Term] => PHP [Quan] => 4 )
)
我的代码如下:($top 是数组)
foreach($top as $value){
if(!empty($temp_top)){
for($i =0;$i<sizeof($temp_top);$i++){
if($value['Data'] == $temp_top[$i]['Data'] ){
$temp_top[$i]['Quan'] +=1;
}else{
$temp_top[] = $value;
}
}
}else{
$temp_top[] = $value;
}
}
我尝试了一些我在堆栈上找到的答案,例如:
$input = array_map("unserialize", array_unique(array_map("serialize", $top)));
但我无法将Quan 的数量加起来。
【问题讨论】:
-
Jonathan Bender,我不认为它是重复的,但谢谢.. 我已经看到并使用了那里解释的代码,但我无法更新 [Quan] :(跨度>
标签: php arrays merge duplicates counting