I\'m trying to sort a multidimensional array by multiple keys, and I have no idea where to start. I looked at uasort, but wasn\'t quite sure how to write a function for what
class Sort {
private $actual_order = 'asc';
private $actual_field = null;
public function compare_arrays($array1, $array2) {
if ($array1[$this->actual_field] == $array2[$this->actual_field]) {
return 0;
}
elseif ($array1[$this->actual_field] > $array2[$this->actual_field]) {
return ($this->actual_order == 'asc' ? 1 : -1);
}
else {
return ($this->actual_order == 'asc' ? -1 : 1);
}
}
public function order_array(&$array) {
usort($array, array($this, 'compare_arrays'));
}
public function __construct ($field, $actual_order = 'asc') {
$this->actual_field = $field;
$this->actual_order = $actual_order;
}
}
// use
$sort = new Sort ("state");
$sort->order_array($array);