Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* http://stackoverflow.com/a/4230273 (see accepted answer too!) */
- /* PHP 5.3 required */
- /*
- Can use multiple arguments, for example: sort_multi_array($my_array, 'column_1', 'column_2');
- */
- function sort_multi_array($array, $key)
- {
- $keys = array();
- for ($i=1;$i<func_num_args();$i++) {
- $keys[$i-1] = func_get_arg($i);
- }
- // create a custom search function to pass to usort
- $func = function ($a, $b) use ($keys) {
- for ($i=0;$i<count($keys);$i++) {
- if ($a[$keys[$i]] != $b[$keys[$i]]) {
- return ($a[$keys[$i]] < $b[$keys[$i]]) ? -1 : 1;
- }
- }
- return 0;
- };
- usort($array, $func); // use uasort() to maintain index association
- return $array;
- }
Advertisement
Add Comment
Please, Sign In to add comment