Сортировка двухмерного массива по элементу подмассива
Как реализовать попроще и пооптимальнее сортировку двухмерного массива по элементу подмассива?
Т.е. например есть массив
Array(Array("fdsf", "gffdgfd", 7), Array("hdkjf", "fdsfsd", 3), Array("fdhdkjf", "fdsfgfsd", 8));
И надо сделать сортировку всего массива по последним элементам, которые равны 7, 3 и 8.
Спасибо!
Код:
$InputArr = Array(Array("fdsf", "gffdgfd", 7), Array("hdkjf", "fdsfsd", 3), Array("fdhdkjf", "fdsfgfsd", 8));
$SortArr = array();
foreach($InputArr AS $Ukey => $Urow){
foreach($Urow AS $Key => $Value){
$SortArr[$Key][$Ukey] = $Value;
}
}
array_multisort($SortArr[2], SORT_ASC, $InputArr);
$SortArr = array();
foreach($InputArr AS $Ukey => $Urow){
foreach($Urow AS $Key => $Value){
$SortArr[$Key][$Ukey] = $Value;
}
}
array_multisort($SortArr[2], SORT_ASC, $InputArr);
Соответственно, в $InputArr после всех пертрубаций будет отсортированный массив по третьему элементу вложенных массивов. SORT_ASC и SORT_DESC - константы, указующие на напрвление сортировки.
Большое спасибо!