У меня array1
вот так:
[user2] => 27
[user3] => 30
[user4] => 33
[user5] => 36
[user6] => 39
[user10] => 39
[user12] => 42
Использование второго массива (helper, authority
):
[user2] => 6
[user3] => 7
[user4] => 1
[user5] => 4
[user6] => 3
[user10] => 2
[user12] => 5
И я хочу отсортировать array1
вот так
[user2] => 27
[user3] => 30
[user4] => 33
[user5] => 36
[user10] => 39 // user10 goes before user6
[user6] => 39
[user12] => 42
Алгоритмы: Когда строки в array1
имеют одинаковое значение, отметьте authority array
и измените порядок строк одинакового значения в соответствии с ним.Чем ниже значение, тем выше (раньше) оно идет в отсортированном array1
(user10
имеет значение 2
в authority array
и, следовательно, оно идет до user6
, которое имеет значение 3
в authority array
).
array1
- это порядок пользователей, основанный на голосовании различных сенаторов.Есть также «президент сената».Если у вас есть пользователи с одинаковыми результатами (user6
и user10
), измените их порядок в соответствии с предпочтением «президент».
Другой возможный ввод:
$arr = [
"user7" => 15,
"user11" => 15,
"user4" => 30,
"user19" => 36,
"user10" => 39,
];
$helper = [
"user4" => 3,
"user7" => 2,
"user10" => 4,
"user11" => 1,
"user19" => 5,
];
, пока это необходимовывод
Array
(
[user11] => 15
[user7] => 15
[user4] => 30
[user19] => 36
[user10] => 39
)