Рубрики
Uncategorized

Пример функции uasort пользовательской сортировки PHP [двумерные массивы, отсортированные по указанным значениям ключей]

Автор оригинала: David Wong.

Эта статья иллюстрирует функцию uasort пользовательской сортировки PHP. Поделитесь для вашей справки следующим образом:

Проекты должны быть ранжированы в соответствии с уровнем I (безопасность) < L (низкий риск) < M (средний риск) < H (высокий риск).

Поскольку он находится передо мной, его нельзя отсортировать напрямую, поэтому его нужно настроить.

Используйте функцию uasort () для настройки сортировки:

/*
 * Two-dimensional arrays with specified key values
 */
Function arr_sort ($array, $key, $order= "asc") {//asc is ascending desc is descending /// sorted by I < L < M < H
  $arr_nums=$arr=array();
  foreach($array as $k=>$v){
    $arr_nums[$k]=$v[$key];
  }
  if($order=='asc'){
    uasort($arr_nums,'my_sort_asc');
  }else{
    uasort($arr_nums,'my_sort_desc');
  }
  foreach($arr_nums as $k=>$v){
    $arr[$k]=$array[$k];
  }
  return $arr;
}
function my_sort_desc($a,$b){
  if($a==$b) return 0;
  if($a=='I' && $b!='I') return 1;
  if($a=='L' && $b!='I') return 1;
  if($a=='L' && $b=='I') return -1;
  if($a=='M' && $b!='H') return -1;
  if($a=='M' && $b=='H') return 1;
  if($a=='H' && $b!='H') return -1;
}
function my_sort_asc($a,$b){
  if($a==$b) return 0;
  if($a=='I' && $b!='I') return -1;
  if($a=='L' && $b!='I') return -1;
  if($a=='L' && $b=='I') return 1;
  if($a=='M' && $b!='H') return 1;
  if($a=='M' && $b=='H') return -1;
  if($a=='H' && $b!='H') return 1;
}

PS: Здесь мы рекомендуем демонстрационный инструмент для сортировки для вашей справки.

Онлайн-анимация демонстрирует вставку/выделение/пузырение/слияние/Холм/Быструю Сортировку в инструменте Алгоритмического процесса: http://tools.jb51.net/aideddesign/paixu_ys

Больше читателей, интересующихся контентом, связанным с PHP, могут ознакомиться с темами этого сайта: Навыки работы с массивами PHP, Краткое изложение алгоритмов сортировки Php, Учебник по структуре и алгоритмам данных PHP, Краткое изложение алгоритмов программирования Php, Краткое изложение использования строк Php и Краткое изложение алгоритмов и методов обхода PHP.

Я надеюсь, что эта статья будет полезна для разработки PHP – программ для всех.