Я ищу, как построить ранг массива на основе значения.php array ranker, основанный на значении
У меня есть выходной массив как:
key => 0 | id => 16103 | Thumbs => 0
key => 1 | id => 23019 | Thumbs => 0
key => 2 | id => 49797 | Thumbs => 5 <- key 2 needs to switch with key 1
key => 3 | id => 51297 | Thumbs => 0
key => 4 | id => 58106 | Thumbs => 0
key => 5 | id => 59927 | Thumbs => 4 <- will be stay at this position
key => 6 | id => 61182 | Thumbs => 0
key => 7 | id => 68592 | Thumbs => 0
key => 8 | id => 70238 | Thumbs => 10 <- key 8 needs to switch with key 6
key => 9 | id => 71815 | Thumbs => 0
key => 10 | id => 78588 | Thumbs => 0
etc..
Я хотел бы написать функцию для воспроизведения выходного массива выше следующим образом. Когда запись имеет 5 больших пальцев, ей нужно переместить «один» выше на выходе, когда она имеет 10 больших пальцев 2 и так далее.
Я предполагаю, что сначала я должен воспроизвести массив, чтобы установить ключ (prio) для каждого выхода, например, 100 200 300, чтобы у нас было достаточно места для установки строки между?
Заранее благодарен!
Значит, вы хотите, чтобы ключ 8 был сверху, ключ 2 на втором месте, а затем каждая другая запись с 4 или меньше? или ключ 2 просто подходит к ключу 1 и к 8-й клавише 6? – Chris
Я думаю, вам нужно сделать какой-то счетчик (еще одно поле), в котором вы храните временные «большие пальцы», и если он достигает пяти, вы сортируете массив по этому параметру, а затем устанавливаете его на ноль, чтобы он не увеличивался дважды. – Voitcus
@ Эти данные исходят из действия поиска, поэтому у них уже есть определенный вес. Я не буду бросать все это, чтобы сказать, что результат с большим пальцем - лучший. Я хочу сделать какую-то комбинацию между алгоритмом поиска и user_inputs, поэтому я хотел бы «нежно» оценивать (по пользовательскому вводу) с учетом больших пальцев. 5 больших пальцев означает одно положение выше, 10 превью 2 позиции выше и т. Д. – directory