public function set_s(){
$arr = [
['one' => 6,'two' => 19],
['one' => 36,'two' => 3],
['one' => 26,'two' => 3],
['one' => 2,'two' => 84],
['one' => 5,'two' => 35],
['one' => 6,'two' => 56],
['one' => 7,'two' => 7],
['one' => 88,'two' => 8],
['one' => 23,'two' => 22],
['one' => 1,'two' => 29],
];
$arr1 = $this->array_sort($arr,'one','asc');
dump($arr1);
echo '-------------------------------';
$arr2 = $this->array_sort($arr,'one','desc');
dump($arr2);
}
//对一个给定的二维数组按照指定的键值进行排序
public 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;
}
array(10) {
[9] => array(2) {
["one"] => int(1)
["two"] => int(29)
}
[3] => array(2) {
["one"] => int(2)
["two"] => int(84)
}
[4] => array(2) {
["one"] => int(5)
["two"] => int(35)
}
[0] => array(2) {
["one"] => int(6)
["two"] => int(19)
}
[5] => array(2) {
["one"] => int(6)
["two"] => int(56)
}
[6] => array(2) {
["one"] => int(7)
["two"] => int(7)
}
[8] => array(2) {
["one"] => int(23)
["two"] => int(22)
}
[2] => array(2) {
["one"] => int(26)
["two"] => int(3)
}
[1] => array(2) {
["one"] => int(36)
["two"] => int(3)
}
[7] => array(2) {
["one"] => int(88)
["two"] => int(8)
}
}
-------------------------------
array(10) {
[7] => array(2) {
["one"] => int(88)
["two"] => int(8)
}
[1] => array(2) {
["one"] => int(36)
["two"] => int(3)
}
[2] => array(2) {
["one"] => int(26)
["two"] => int(3)
}
[8] => array(2) {
["one"] => int(23)
["two"] => int(22)
}
[6] => array(2) {
["one"] => int(7)
["two"] => int(7)
}
[5] => array(2) {
["one"] => int(6)
["two"] => int(56)
}
[0] => array(2) {
["one"] => int(6)
["two"] => int(19)
}
[4] => array(2) {
["one"] => int(5)
["two"] => int(35)
}
[3] => array(2) {
["one"] => int(2)
["two"] => int(84)
}
[9] => array(2) {
["one"] => int(1)
["two"] => int(29)
}
}