Revision: 2000
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at December 11, 2006 12:43 by section31
Initial Code
// convert associative array to 2d array function arr_convert_2d($arr) { $tmp_arr = array(); foreach ($arr as $k => $v) { $tmp_arr[] = array('index' => $k, 'value' => $v); } return $tmp_arr; } // convert 2d associative array to 1d array function arr_convert_1d($arr) { $tmp_arr = array(); foreach ($arr as $v) { $tmp_arr[$v['index']] = $v['value']; } return $tmp_arr; } function assoc_quicksort($arr) { if (!count($arr)) return $arr; $pivot = $arr[0]; $left = $right = array(); for($i = 1; $i < count($arr); $i++) { if($arr[$i]['value'] <= $pivot['value']) { $left[] = $arr[$i]; } else { $right[] = $arr[$i]; } } return array_merge(assoc_quicksort($left), array($pivot), assoc_quicksort($right)); } $qsort_assoc_arr = arr_convert_1d(assoc_quicksort(arr_convert_2d($changed_arr)));
Initial URL
Initial Description
Initial Title
Associative Quick Sort
Initial Tags
Initial Language
PHP