Sorting Multi-Dimensional Arrays in PHP


Aug 03, 2012    Janaki Mahapatra, Language

Example:
<?php
 
$users = array();
 
$users[] = array('username' => 'shiflett', 'name' => 'Chris Shiflett');
$users[] = array('username' => 'dotjay', 'name' => 'Jon Gibbins');
$users[] = array('username' => 'a', 'name' => 'Andrei Zmievski');
 
?>
If I want to sort by username, I first create a separate array of usernames:
<?php
 
$usernames = array();
 
foreach ($users as $user) {
 $usernames[] = $user['username'];
}
 
?>
I then use array_multisort():
<?php
 
array_multisort($usernames, SORT_ASC, $users);
 
?>