Anonymous
Сортировка строк двумерного массива по рангу значения столбца, затем по значению столбца, затем по другому значению стол
Сообщение
Anonymous » 07 ноя 2024, 23:33
У меня есть набор результатов MySQL со значениями пола и офиса. Я хочу отсортировать строки так, чтобы первым отображался самый нижний этаж и офисы, И этаж не указывался в следующий раз, прежде чем самый нижний из всех офисов на всех этажах будет
Пример массива результатов :
Код: Выделить всё
$result = [
['floor' => 1, 'office' => 4],
['floor' => 1, 'office' => 5],
['floor' => 1, 'office' => 6],
['floor' => 2, 'office' => 4],
['floor' => 2, 'office' => 5],
['floor' => 2, 'office' => 6],
['floor' => 2, 'office' => 7],
['floor' => 3, 'office' => 3],
['floor' => 3, 'office' => 4],
['floor' => 3, 'office' => 5],
['floor' => 3, 'office' => 6],
['floor' => 3, 'office' => 7],
['floor' => 4, 'office' => 3],
['floor' => 4, 'office' => 4],
['floor' => 4, 'office' => 5],
['floor' => 4, 'office' => 6],
['floor' => 4, 'office' => 7]
];
Мой желаемый результат
Код: Выделить всё
[
['floor' => '1', 'office' => '4'],
['floor' => '2', 'office' => '4'],
['floor' => '3', 'office' => '3'],
['floor' => '4', 'office' => '3'],
['floor' => '1', 'office' => '5'],
['floor' => '2', 'office' => '5'],
['floor' => '3', 'office' => '4'],
['floor' => '4', 'office' => '4'],
['floor' => '1', 'office' => '6'],
['floor' => '2', 'office' => '6'],
['floor' => '3', 'office' => '5'],
['floor' => '4', 'office' => '5'],
['floor' => '2', 'office' => '7'],
['floor' => '3', 'office' => '6'],
['floor' => '4', 'office' => '6'],
['floor' => '3', 'office' => '7'],
['floor' => '4', 'office' => '7'],
];
Что мне нужно сделать, так это пройти по каждому этажу по одному и занять офис с наименьшим номером, а затем снова начать с этажа с наименьшим номером, пока не исчерпаю себя.
>
Подробнее здесь:
https://stackoverflow.com/questions/346 ... another-co
1731011609
Anonymous
У меня есть набор результатов MySQL со значениями пола и офиса. Я хочу отсортировать строки так, чтобы первым отображался самый нижний этаж и офисы, И этаж не указывался в следующий раз, прежде чем самый нижний из всех офисов на всех этажах будет Пример массива результатов : [code]$result = [ ['floor' => 1, 'office' => 4], ['floor' => 1, 'office' => 5], ['floor' => 1, 'office' => 6], ['floor' => 2, 'office' => 4], ['floor' => 2, 'office' => 5], ['floor' => 2, 'office' => 6], ['floor' => 2, 'office' => 7], ['floor' => 3, 'office' => 3], ['floor' => 3, 'office' => 4], ['floor' => 3, 'office' => 5], ['floor' => 3, 'office' => 6], ['floor' => 3, 'office' => 7], ['floor' => 4, 'office' => 3], ['floor' => 4, 'office' => 4], ['floor' => 4, 'office' => 5], ['floor' => 4, 'office' => 6], ['floor' => 4, 'office' => 7] ]; [/code] Мой желаемый результат [code][ ['floor' => '1', 'office' => '4'], ['floor' => '2', 'office' => '4'], ['floor' => '3', 'office' => '3'], ['floor' => '4', 'office' => '3'], ['floor' => '1', 'office' => '5'], ['floor' => '2', 'office' => '5'], ['floor' => '3', 'office' => '4'], ['floor' => '4', 'office' => '4'], ['floor' => '1', 'office' => '6'], ['floor' => '2', 'office' => '6'], ['floor' => '3', 'office' => '5'], ['floor' => '4', 'office' => '5'], ['floor' => '2', 'office' => '7'], ['floor' => '3', 'office' => '6'], ['floor' => '4', 'office' => '6'], ['floor' => '3', 'office' => '7'], ['floor' => '4', 'office' => '7'], ]; [/code] Что мне нужно сделать, так это пройти по каждому этажу по одному и занять офис с наименьшим номером, а затем снова начать с этажа с наименьшим номером, пока не исчерпаю себя. > Подробнее здесь: [url]https://stackoverflow.com/questions/34646809/sort-rows-of-a-2d-array-by-column-value-rank-then-column-value-then-another-co[/url]