geerlingguy geerlingguy - 1 year ago 98
PHP Question

How do I sort a PHP array by an element nested inside?

I have an array like the following:


Array
(
[0] => Array
(
'name' => "Friday"
'weight' => 6
)
[1] => Array
(
'name' => "Monday"
'weight' => 2
)
)


I would like to grab the last values in that array (the 'weight'), and use that to sort the main array elements. So, in this array, I'd want to sort it so the 'Monday' element appears before the 'Friday' element.

Answer Source

You can use usort as:

function cmp($a, $b) {
   return $a['weight'] - $b['weight'];
}

usort($arr,"cmp");
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download