Сортировка многомерного ассоциативного массива на PHP по любому полю


Если вы столкнулись с ситуацией когда вам необходимо отсортировать многомерный ассоциативный массив по определённому полю, то вот нужная вам функция.

Её я использовал при написании функции для автоисправления кодировки строк на PHP.

function sort_hard_array($array_result, $field) {
$t = call_user_func_array('array_merge_recursive', $array_result);
asort($t[$field]);
$so = array_keys($t[$field]);
asort($so);
$so = array_keys($so);
$array_result = array_combine($so, $array_result);
krsort($array_result);  
return $array_result;
}

Скармливаем её ассоциативный массив (первый параметр), указываем по какому полю сортировать (второй параметр) и получаем новый массив, отсортированный по нужному нам полю.

Идея найдена на просторах "тырнета", но несколько доработана мной. Так-что не совсем плагиат получился;).

 


Тэги:

Комментарии: 0

Прокомментировать »

 
 
 

Прокомментировать

 
 
Сообщение *
 
Проверочный код *
 
 
 
Яндекс.Метрика