PHP 多維數組進行排序

jopen 9年前發布 | 876 次閱讀 PHP

  /*
  function:二維數組按指定的鍵值排序
  $array=array(
  0=>array('id'=>8,'username'=>'phpernote'),
  1=>array('id'=>9,'username'=>'com'),
  2=>array('id'=>5,'username'=>'www')
  );

現在需要將這個二維數組按id升序排列,則:

array_sort($array,'id','asc');

*/ public function array_sort($array,$keys,$type='asc'){ if(!isset($array) || !is_array($array) || empty($array)){ return ''; } if(!isset($keys) || trim($keys)==''){ return ''; } if(!isset($type) || $type=='' || !in_array(strtolower($type),array('asc','desc'))){ return ''; } $keysvalue=array(); foreach($array as $key=>$val){ $val[$keys] = str_replace('-','',$val[$keys]); $val[$keys] = str_replace(' ','',$val[$keys]); $val[$keys] = str_replace(':','',$val[$keys]); $keysvalue[] =$val[$keys]; } asort($keysvalue); //key值排序 reset($keysvalue); //指針重新指向數組第一個 foreach($keysvalue as $key=>$vals) { $keysort[] = $key; } $keysvalue = array(); $count=count($keysort); if(strtolower($type) != 'asc'){ for($i=$count-1; $i>=0; $i--) { $keysvalue[] = $array[$keysort[$i]]; } }else{ for($i=0; $i<$count; $i++){ $keysvalue[] = $array[$keysort[$i]]; } } return $keysvalue; }</pre>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!