1, first directly on the function
function Array_sort ($arr, $keys, $type = ' asc ') {
$keysvalue = $new _array = Array ();
foreach ($arr as $k = = $v) {
$keysvalue [$k] = $v [$keys];
}
if ($type = = ' asc ') {
Asort ($keysvalue);
}else{
Arsort ($keysvalue);
}
Reset ($keysvalue);
foreach ($keysvalue as $k = = $v) {
$new _array[$k] = $arr [$k];
}
return $new _array;
}
See below for a given two-bit array
$person = Array (
Array (' id ' =>1,' name ' = 'fj ',' weight ' =>100,' height ' =>180),
Array (' id ' =>2,' name ' = 'Tom ',' weight ' =>53,' height ' =>150),
Array (' id ' =>3,' name ' = 'Jerry ',' weight ' =>120,' height ' =>156),
Array (' id ' =>4,' name ' = 'bill ',' weight ' =>110,' height ' =>190),
Array (' id ' =>5,' name ' = 'linken ',' weight ' =>80,' height ' =>200),
Array (' id ' =>6,' name ' = 'madana ',' weight ' =>95,' height ' =>110),
Array (' id ' =>7,' name ' = 'Jordan ',' weight ' =>70,' height ' =>170)
);
How to use
$person =array_asort ($person, ' weight ');
PHP Custom two-dimensional array sorting