zoukankan      html  css  js  c++  java
  • PHP开发笔记:二维数组根据某一项来进行排序

    比如说我们现在有一个二维数组:

    $arr = array( 
    ‘d' => array(‘id' => 5, ‘name' => 1, ‘age' => 7), 
    ‘b' => array(‘id' => 2,'name' => 3,'age' => 4), 
    ‘a' => array(‘id' => 8,'name' => 10,'age' => 5), 
    ‘c' => array(‘id' => 1,'name' => 2,'age' => 2) 
    ); 

    目标是针对于这个二维数组的每一项,根据他们的age来进行排序,排序过程中我们会使用到PHP内置的array_multisort() 函数:

    function multi_array_sort($multi_array,$sort_key,$sort=SORT_ASC){ 
        if(is_array($multi_array)){ 
            foreach ($multi_array as $row_array){ 
                if(is_array($row_array)){ 
                    $key_array[] = $row_array[$sort_key]; 
                }else{ 
                    return false; 
                } 
            } 
        }else{ 
            return false; 
        } 
        array_multisort($key_array,$sort,$multi_array); 
        return $multi_array; 
    } 

    我们来看一下实例的处理结果:

    echo “<pre/>”; 
    print_r(multi_array_sort($arr,'age'));exit; 
    //输出 
    Array 
    ( 
    [c] => Array 
    ( 
    [id] => 1 
    [name] => 2 
    [age] => 2 
    ) 
    [b] => Array 
    ( 
    [id] => 2 
    [name] => 3 
    [age] => 4 
    ) 
    [a] => Array 
    ( 
    [id] => 8 
    [name] => 10 
    [age] => 5 
    ) 
    [d] => Array 
    ( 
    [id] => 5 
    [name] => 1 
    [age] => 7 
    ) 
    ) 
  • 相关阅读:
    EFCore实践教程三
    EFCore实践测试二
    EFCore实践测试一
    git学习3
    git学习2
    git学习1
    ABP学习
    autofac笔记
    时间计算本质理论3-平行宇宙,对未来的子线程计算
    时间计算本质理论2-时间计算速度的不同步
  • 原文地址:https://www.cnblogs.com/starkiller/p/5731797.html
Copyright © 2011-2022 走看看