[man]usort[/man] comes in handy for this, e.g.,
usort($students, function($x, $y) { return strcmp($x['firstname'], $y['firstname']); });
It does not look at more concise than the array_multisort call, but the ability to provide a custom comparator rather than rely on predefined sort order and flags makes for greater flexibility, and besides, you don't have to remember to provide all the parallel arrays as arguments.