• 对一个给定的二维数组按照指定的键值进行排序


    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)
      }
    }











  • 相关阅读:
    Algs4-2.1.23纸牌排序
    python字符串加颜色区别
    python学习之字典
    python学习之while语句
    python学习之字符串变量
    python学习之列表语法
    python简单实现用户表单登录
    python学习之安装模块
    python学习之认识字符串
    python学习之for语句
  • 原文地址:https://www.cnblogs.com/pansidong/p/9822559.html
Copyright © 2020-2023  润新知