Heim  >  Artikel  >  Backend-Entwicklung  >  PHP 多维数组进行排序

PHP 多维数组进行排序

WBOY
WBOYOriginal
2016-07-25 08:42:52967Durchsuche
  1. /*
  2. function:二维数组按指定的键值排序
  3. $array=array(
  4. 0=>array('id'=>8,'username'=>'phpernote'),
  5. 1=>array('id'=>9,'username'=>'com'),
  6. 2=>array('id'=>5,'username'=>'www')
  7. );
  8. 现在需要将这个二维数组按id升序排列,则:
  9. array_sort($array,'id','asc');
  10. */
  11. public function array_sort($array,$keys,$type='asc'){
  12. if(!isset($array) || !is_array($array) || empty($array)){
  13. return '';
  14. }
  15. if(!isset($keys) || trim($keys)==''){
  16. return '';
  17. }
  18. if(!isset($type) || $type=='' || !in_array(strtolower($type),array('asc','desc'))){
  19. return '';
  20. }
  21. $keysvalue=array();
  22. foreach($array as $key=>$val){
  23. $val[$keys] = str_replace('-','',$val[$keys]);
  24. $val[$keys] = str_replace(' ','',$val[$keys]);
  25. $val[$keys] = str_replace(':','',$val[$keys]);
  26. $keysvalue[] =$val[$keys];
  27. }
  28. asort($keysvalue); //key值排序
  29. reset($keysvalue); //指针重新指向数组第一个
  30. foreach($keysvalue as $key=>$vals) {
  31. $keysort[] = $key;
  32. }
  33. $keysvalue = array();
  34. $count=count($keysort);
  35. if(strtolower($type) != 'asc'){
  36. for($i=$count-1; $i>=0; $i--) {
  37. $keysvalue[] = $array[$keysort[$i]];
  38. }
  39. }else{
  40. for($i=0; $i $keysvalue[] = $array[$keysort[$i]];
  41. }
  42. }
  43. return $keysvalue;
  44. }
复制代码

PHP


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn