Я ломаю голову, пытаясь придумать решение. Я могу найти множество решений для удаления дубликатов из двумерного массива, но мне нужно удалить дубликаты, если значение меньше другого. Вот массив:
Array
(
[basketball] => Array
(
[0] => stdClass Object
(
[id] => 2
[username] => Beans
[points] => 30
)
[1] => stdClass Object
(
[id] => 314
[username] => slights
[points] => 20
)
[2] => stdClass Object
(
[id] => 123
[username] => gibb54
[points] => 5
)
)
[soccer] => Array
(
[0] => stdClass Object
(
[id] => 2
[username] => Beans
[points] => 95
)
[1] => stdClass Object
(
[id] => 49
[username] => sans
[points] => 65
)
[2] => stdClass Object
(
[id] => 122
[username] => peano
[points] => 50
)
[3] => stdClass Object
(
[id] => 174
[username] => fordb
[points] => 30
)
[4] => stdClass Object
(
[id] => 112
[username] => danc
[points] => 30
)
)
)
Как видите, идентификатор пользователя 2 Beans - это первый выбор как для баскетбола, так и для футбола. Поскольку у них больше очков за футбол, мне нужно удалить их запись для баскетбола, чтобы сделать ID 314, пренебрегая значением 0.
Мне нужно будет делать это непрерывно, пока ни один пользователь не получит значение 0 для любого из значений первичного массива дважды.
Я пробовал разные комбинации решений foreach, но никуда не денусь. Я думал, что цикл while будет более подходящим, но я не знаю, какое условие проверять.
Есть идеи, пожалуйста?!