Craig McCoy

Programmer / Developer & Zombie Survivalist

PHP Sort Multidimensional array by column (using usort)

Sep/2010 22

Here is how to sort a multidimensional array by column.

column = $column;
  }
  function compare($x, $y) {
    if ($x[$this->column] == $y[$this->column]) {
      return 0;
    }
    return ($x[$this->column] column]) ? -1 : 1;
  }
  function sort($assoc_arr) {
    usort($assoc_arr, array($this, 'compare'));
    return $assoc_arr;
  }
  
}
?>

Here is how to use it:

	//$arr1 is your multidimensional array 
	$arr1 = array();
	$arr1[0]['name'] = "John";
	$arr1[1]['name'] = "Joe";
	$arr1[2]['name'] = "Bob";
	$sorter = new AssocSorter('name');
	$arr1 = $sorter->sort($arr1);