PHP 多维数组进行排序

WBOY
Freigeben: 2016-07-25 08:42:52
Original
973 Leute haben es durchsucht
  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


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage