PHP数组排序

来源:互联网 发布:我的世界手机0.14js 编辑:程序博客网 时间:2024/04/29 14:11
 
  1. /**
  2.  * 倒序数组
  3.  * @param aInput array 要排序的数组
  4.  * @param $by string 排序对象, key为按数组下标排序, value为按值排序
  5.  */
  6. function aryReverts($aInput$by = 'key') {
  7.     if(!is_array($aInput)) {
  8.         return false;
  9.     }
  10.     $res = array();
  11.     $n = count($aInput);
  12.     for($i=0; $i<$n$i++) {
  13.         $tmMax = getMax($aInput$by);
  14.         print_r($tmMax);
  15.         list($k$v) = each($tmMax);
  16.         $res[$k] = $v;
  17.     }
  18.     return $res;
  19. }

  20. /**
  21.  * @param aInput array 要冒沟的数组
  22.  * @param $by string 排序对象, key为按数组下标排序, value为按值排序
  23.  */
  24. function getMax(&$aInput$by) {
  25.     $max = null;
  26.     $maxKey = null;
  27.     if($by == 'key')  
  28.         $tar = 'k';
  29.     else 
  30.         $tar = 'v';
  31.     foreach($aInput as $k => $v) {
  32.         if($$tar > $max ) {
  33.             $max = $$tar;
  34.             $maxKey = $k;
  35.         }
  36.     }
  37.     $maxValue = $aInput[$maxKey];
  38.     unset($aInput[$maxKey]);
  39.     return array($maxKey=> $maxValue);
  40. }

  41. $list = array('apple'=>300, 'orange'=>150, 'banana'=>100,  'mango'=>330);
  42. echo '<xmp>';
  43. print_r(aryReverts($list'value'));
原创粉丝点击