Ok. Я столкнулся с некоторыми сообщениями с одним и тем же вопросом, но я все еще не могу понять, как сортировать следующий массив.Php сортировка многомерного массива
У меня есть многомерный массив, который заполняется с общим количеством часов для каждой марки
$totalHours = array(
'brand' => array(),
'project' => array(),
'hours' => array()
);
Выход что-то вроде этого (проект не заполнен):
array(3) {
["brand"]=>
array(3) {
[0]=>
string(4) "Nike"
[1]=>
string(9) "Coke Cola"
[2]=>
string(8) "Converse"
}
["project"]=>
array(3) {
[0]=>
string(6) "Bonobo"
[1]=>
string(4) "LDRU"
[2]=>
string(2) "US"
}
["hours"]=>
array(3) {
[0]=>
int(28)
[1]=>
int(106)
[2]=>
string(1) "2"
}
}
Теперь я хотел бы сортируйте массив на основе поля «часы».
Я пробовал array_multisort, но похоже, что я просто не понимаю, как работает эта функция и как применить ее к этому массиву. Я смог отсортировать один массив только с одной строкой значений. Если я применил это к этой проблеме, я сортировал только поле часов, оставив остальные несортированными, и поэтому массив поврежден.
Любая помощь приветствуется!
*** EDIT
"Проект" на самом деле содержит строку. Это всегда так. В этом примере я его не заполнил.
Большое вам спасибо. Не могли бы вы помочь мне в том, как применять это, включая массив «project»? или, возможно, как мне пришлось назначать значения в массиве на первое место – Arash
Мое решение не лучшее, поскольку я не использовал 'array_multisort'. Теперь я прочитал другие ответы, я думаю, что @delprks может быть лучше для этого случая. Я попытаюсь что-то придумать. –
Я отредактировал свой ответ, чтобы использовать массивы array_multisort в * brand * и * project *. –