Найдите массивы с повторяющимся значением и сравните их ключ
Здравствуйте, я хотел бы найти массивы с одинаковым значением ключа ЭАН Если существует несколько записей, я хочу удалить запись с меньшим значением ключа ProductCount.
Например, у меня есть массив. Как вы можете видеть, есть три записи стот же ЕАН ($arr[0], $arr[1], $a[3]). После нахождения этих записей с одним и тем же ean мне нужно сравнить их значения ключевого ProductCount и сохранить запись с помощью наименьшее значение из ProductCount. Вы меня понимаете?
Я был бы благодарен за любой совет.
$arr =array( "0" => Array ( "ean" => 6900532615069, "productPrice" => 1140, "productCount" => 5 ), "1" => Array ( "ean" => 6900532615069, "productPrice" => 1140, "productCount" => 50 ), "2" => Array ( "ean" => 6900535364122, "productPrice" => 1140, "productCount" => 50 ), "3" => Array ( "ean" => 6900532615069, "productPrice" => 1140, "productCount" => 10, ));
Таким образом, выход должен быть
$arr =array( "0" => Array ( "ean" => 6900532615069, "productPrice" => 1140, "productCount" => 5 ), "1" => Array ( "ean" => 6900535364122, "productPrice" => 1140, "productCount" => 50 ));
Что я уже пробовал:
Я попробовал это и некоторые модификации этого, но безуспешно. Я пытаюсь сделать это в течение нескольких дней :(
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; }