FoxTools.com

Visual FoxPro Tools and Utilities

PHP Information

Every have the need to sort an array on a specific column?  Works like a champ, just remember that the sorted array is RETURNED, the original array is NOT sorted\changed.

function Array_Sort($array, $on, $order = SORT_ASC) {
	$new_array = array();
	$sortable_array = array();
	if (count($array) > 0) {
		foreach ($array as $k => $v) {
			if (is_array($v)) {
				foreach ($v as $k2 => $v2) {
					if ($k2 == $on) {
						$sortable_array[$k] = $v2;
					}
				}
			} else {
				$sortable_array[$k] = $v;
			}
		}
		switch ($order) {
			case SORT_ASC :
				asort($sortable_array);
				break;
			case SORT_DESC :
				arsort($sortable_array);
				break;
		}
		foreach ($sortable_array as $k => $v) {
			$new_array[$k] = $array[$k];
		}
	}
	return $new_array;
}
You are here: Home PHP PHP ArraySort.php