Is it possible to use usort to sort multiple fields in a multidimensional array? For example, I want to sort name alphabetically and then from thos
How about:
getRandomName(), 'age' => rand(1,10), 'start_order' => $i);
}
$order = array('name' => 'desc', 'age' => 'asc');
print_r($a);
usort($a, function ($a, $b) use ($order) {
$t = array(true => -1, false => 1);
$r = true;
$k = 1;
foreach ($order as $key => $value) {
$k = ($value === 'asc') ? 1 : -1;
$r = ($a[$key] < $b[$key]);
if ($a[$key] !== $b[$key]) {
return $t[$r] * $k;
}
}
return $t[$r] * $k;
});
print_r($a);