Есть многомерный массив, как этот:Удалить повторяющиеся значения из многомерного массива на основе определенного ключа
[['key'=>'foo', 'Rating'=>5] ,
['key'=>'bar', 'Rating'=>1] ,
['key'=>'Tee', 'Rating'=>3] ,
['key'=>'foo', 'Rating'=>10] ,
['key'=>'foo', 'Rating'=>1]]
Я хочу, чтобы удалить дубликаты на основе определенного ключа и рейтинговой системе при сохранении исходной структуры массива кроме индексных ключей.
Таким образом, окончательный результат должен выглядеть следующим образом:
[['key'=>'bar', 'Rating'=>1] ,
['key'=>'Tee', 'Rating'=>3] ,
['key'=>'foo', 'Rating'=>10]]
Я ищу для эффективного решения этой проблемы.
Идеально функция array_unique()
, которая принимает значение ключа в качестве параметра для поиска повторений для заданного массива и ключа Rating
.
array_key_unique($array, $uniqe_key, $Rating);
Мне было интересно, есть ли способ сделать это с помощью MySQL-запроса?
, как вы узнали, что '[ 'ключ' => 'Foo', 'Рейтинг' => 5], 'является дубликатом и его необходимо удалить. посмотрите на свой желаемый результат и скажите –
, вы также должны опубликовать часть, в которой вы извлекаете данные из MySQL, а также публикуете структуру таблицы с данными, потому что ваш вопрос помечен как MySQL .... лучшим решением будет разрешение на обработку базы данных группировка и максимальное значение что-то вроде этого ... SELECT Rates.'key' , MAX (Rates.Rating) оТ Цен GROUP BY Rates.'key' –
возможного дубликата [Создание многомерного массива из вложенной MySQL результата с Duplicate Values (PHP)] (http://stackoverflow.com/questions/10049175/creating-multidimensional-nested-array-from-mysql-result-with-duplicate-values) – McNets