zoukankan      html  css  js  c++  java
  • 对一个给定的二维数组按照指定的键值进行排序

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











  • 相关阅读:
    java多线程:并发包中ConcurrentHashMap和jdk的HashMap的对比
    java编程之:Unsafe类
    mave之:java的web项目必须要的三个jar的pom形式
    java多线程:并发包中ReentrantReadWriteLock读写锁的锁降级模板
    java多线程:并发包中ReentrantReadWriteLock读写锁的原理
    java编程之:按位与运算,等运算规则
    java多线程:jdk并发包的总结(转载)
    liunx之:wps for liunx的安装经验
    mysql中enum类型理解
    MySQL类型float double decimal的区别
  • 原文地址:https://www.cnblogs.com/pansidong/p/9822559.html
Copyright © 2011-2022 走看看