Эта статья иллюстрирует функцию 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 – программ для всех.