Let's say I've started here:
$arr[0] = array('a' => 'a', 'int' => 10);
$arr[1] = array('a' => 'foo', 'int' => 5);
$arr[2] = array('a' => 'bar', 'int' => 12);
And I want to get here:
$arr[0] = array('a' => 'foo', 'int' => 5);
$arr[1] = array('a' => 'a', 'int' => 10);
$arr[2] = array('a' => 'bar', 'int' => 12);
How can I sort the elements in an array by those elements' elements?
Multidimensional arrays always feel like a little bit more than my brain can handle (-_-) (until I figure them out and they seem super easy)
Do you want to order them by the value of the "int" key ?
Use uasort with a callback function :
function compare_by_int_key($a, $b) {
if ($a['int'] == $b['int']) {
return 0;
}
return ($a['int'] < $b['int']) ? -1 : 1;
}
uasort($arr, "compare_by_int_key");
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With