Добрый вечер, есть массив такого вида: Код (Text): $array = [ [0] => [ 'likes' => 10, 'dislikes' => 2, ], [1] => [ 'likes' => 2, 'dislikes' => 20, ], [2] => [ 'likes' => 1, 'dislikes' => 0, ], [3] => [ 'likes' => 1, 'dislikes' => 0, ], ] Задача состоит в том, чтобы сортировать элементы массива по убыванию разницы likes и dislikes. Первая идея была создать отдельный массив, где элементы были бы той самой разницей (если использовать пример выше, то массив выглядит так: [8, -18, 1, 1]) и сортировать исходный массив используя array_multisort. Этот вариант не подошел, потому что разница может быть отрицательной, а мультисорт просто игнорирует минус и сортировка получается неправильной. Вторая идея была в том, чтобы полученный массив с разницами поставить ключами в исходный массив (array_combine) и сортировать с помощью krsort. Это сработало, но если опять же взять полученный массив [8, -18, 1, 1], элементы в нем могут повторяться. В результате чего после array_combine получаются только 3 элемента. Очень нужнаюсь в совете, поскольку идей больше нет
Я и описала то, что делала ) Тоже про него думала, но пока слабо представляю какая должна быть сама логика пользовательской функции. Буду думать