我想比较一组记录,以便找到具有相同身份存储在记录中的记录。该记录被实现为一个关联数组。如果任何身份存在多个记录,我想从数组中删除值较低的记录。
我将尝试在示例中进行解释。
这是示例数组。您可以看到有两次相同的“ ean”。 我需要找到所有带有“ ean” 的数组,并比较其“ productCount” 。然后,我需要删除一个 productCount值较低的数组。
[0] => Array
(
[ean] => **6909536610216**
[productPrice] => 760
[productCount] => 107
)
[1] => Array
(
[ean] => 6909536610261
[productPrice] => 779
[productCount] => 128
)
[2] => Array
(
[ean] => **6909536610216**
[productPrice] => 920
[productCount] => 20
)
function removeduplicateKeys($data){
$_data = array();
foreach ($data as $v) {
if (isset($_data[$v['ean']])) {
// found duplicate
continue;
}
// remember unique item
$_data[$v['ean']] = $v;
}
$data = array_values($_data);
return $data;
}
因此输出应为
[1] => Array
(
[ean] => 6909536610261
[productPrice] => 779
[productCount] => 128
)
[2] => Array
(
[ean] => **6909536610216**
[productPrice] => 920
[productCount] => 20
)
能帮我吗?谢谢