SortColumn
การเรียงลำดับแอเรย์หลายมิติ เช่น แอเรย์ข้อมูลของ webboard text ที่ผมใช้งานอยู่ หรือมีลักษณะดังโค้ด
<?
  $webboard[] = array( 'wb_id'=>4 , 'wb_topic'=> 'topic1' );
  $webboard[] = array( 'wb_id'=>5 , 'wb_topic'=> 'topic2' );
  $webboard[] = array( 'wb_id'=>2 , 'wb_topic'=> 'topic3' );
  $webboard[] = array( 'wb_id'=>1 , 'wb_topic'=> 'topic4' );
?>
$array = แอเรย์ของข้อมูล ที่ข้อมูลต้องเป็นแอเรย์ที่มีสมาชิกไม่น้อยกว่า $column
$column = สมาชิกของตัวแปรลำดับที่ต้องการใช้เปรียบเทียบ
$sortasc = เรียงลำดับจากน้อยไปหามาก (true)
$first, $last ตัวแปรสองตัวนี้เรียกครั้งแรกไม่ต้องใส่
{ 
  $keys = array_keys($array);
  if($last == -2) $last = count($array) - 1; 
  if($last > $first) { 
  $alpha = $first; 
  $omega = $last;
  $key_alpha = $keys[$alpha]; 
  $key_omega = $keys[$omega];
  $guess = $array[$key_alpha][$column]; 
  while($omega >= $alpha) { 
    if($sortasc) { 
   while($array[$key_alpha][$column] < $guess) {$alpha++; $key_alpha = $keys[$alpha]; }
   while($array[$key_omega][$column] > $guess) {$omega--; $key_omega = $keys[$omega]; }
    } else { 
   while($array[$key_alpha][$column] > $guess) {$alpha++; $key_alpha = $keys[$alpha]; }
   while($array[$key_omega][$column] < $guess) {$omega--; $key_omega = $keys[$omega]; }
    } 
    if($alpha > $omega) break; 
    $temporary = $array[$key_alpha]; 
    $array[$key_alpha] = $array[$key_omega]; 
    $alpha++;
    $key_alpha = $keys[$alpha];
    $array[$key_omega] = $temporary; 
    $omega--;
    $key_omega = $keys[$omega];
    }
  sortcolumn($array, $column, $sortasc, $first, $omega); 
  sortcolumn($array, $column, $sortasc, $alpha, $last); 
  } 
};
การเรียงลำดับแอเรย์ตามชื่อฟิลด์ครับ โดยการกำหนด ค่า $name เป็นชื่อของฟิลด์ที่จะใช้เป็น key เช่น
sortcolumn( $webboard , 'wb_id' );
ตัวอย่าง เป็นการเรียงลำดับข้อมูลในแอเรย์ webboard ตาม id จากข้อมูลข้างบน
<?
  sortcolumn( $webboard , 'wb_id' );
  print_r( $webboard );
?>