<?php
$data = array(
array("id"=>3, "name"=>"peter"),
array("id"=>1, "name"=>"steve"),
array("id"=>5, "name"=>"damian"),
array("id"=>9, "name"=>"ethan")
);
$compare = function($key, $order = SORT_DESC) {
return function($a, $b) use ($key, $order) {
if ($order === SORT_ASC)
$order = -1;
else
$order = 1;
if (is_numeric($a[$key]))
return $order * ($a[$key] - $b[$key]);
if (is_string($a[$key]))
return $order * strcmp($a[$key], $b[$key]);
return 0;
};
};
usort($data, $compare("name", SORT_ASC));
print_r($data);
preferences:
32.31 ms | 402 KiB | 5 Q