GORAGOD.com

การเรียงลำดับ 2

การเรียงลำดับ แอเรย์เนี่ยเป็นอะไรที่ยุ่งยากมาก เนื่องจากแอเรย์ของ PHP มีหลายรูปแบบ โค้ดนี่ก็เป็นอีกรูปแบบหนึ่งของการเรียงลำดับ

การเรียงลำดับตามค่าของแอเรย์ ดูจากตัวอย่างเลยครับ

<?
function value_sort($array, $type='asc') {
  $result=array();
  foreach($array as $var => $val) {
    $set=false;
    foreach($result as $var2 => $val2){
     if($set==false) {
     if($val>$val2 && $type=='desc' || $val<$val2 && $type=='asc') {
         $temp=array();
         foreach($result as $var3 => $val3){
           if($var3==$var2) $set=true;
           if($set) {
             $temp[$var3]=$val3;
             unset($result[$var3]);
           }
         }
         $result[$var]=$val;
         foreach($temp as $var3 => $val3) {
           $result[$var3]=$val3;
         }
      }
      }
    }
    if(!$set) $result[$var]=$val;
  }
  return $result;
}
?>

ตัวอย่าง

<?
  $array[two]=2;
  $array[three]=3;
  $array[one]=1;
  $array[four]=4;

  $new_array=value_sort($array);

  print_r($new_array); //Array ( [one] => 1 [two] => 2 [three] => 3 [four] => 4 )
?>