zoukankan      html  css  js  c++  java
  • 浅谈usort、uasort、uksort

    前言:这三个函数都是php提供给开发者自定义的数组排序函数。

    1.usort:按值排序,索引重新定义

    a.基础案例

    1 //自定义比较的函数
    2 function mysort($a,$b){
    3     if($a == $b) return 0;
    4     return $a>$b?1:-1; //表示从小到大排列,如果想从大到小排列,则1和-1对调一下即可      
    5 }
    6 $a = array(2,3,1,6,4);
    7 usort($a,'mysort');
    8 print_r($a);
    9 //返回:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 6 )
    View Code

    b.高级案例

     1 //根据数组中某个元素的值大小排序[二维数组]
     2 function mysort($a,$b){
     3    if($a['create_time']==$b['create_time']) return 0;
     4   return $a['create_time']>$b['create_time']?1:-1;   
     5 }
     6 $a = array(
     7     array('id'=>2,'create_time'=>12234234),
     8     array('id'=>1,'create_time'=>12234221),    
     9     array('id'=>3,'create_time'=>12234222), 
    10 );
    11 usort($a,'mysort');
    12 echo '<pre>';
    13 print_r($a);
    View Code

    返回结果:

     1 Array
     2 (
     3     [0] => Array
     4         (
     5             [id] => 1
     6             [create_time] => 12234221
     7         )
     8 
     9     [1] => Array
    10         (
    11             [id] => 3
    12             [create_time] => 12234222
    13         )
    14 
    15     [2] => Array
    16         (
    17             [id] => 2
    18             [create_time] => 12234234
    19         )
    20 
    21 )
    View Code

    2.uasort:按值排序,但会保持原来索引

    3.uksort:按键排序

  • 相关阅读:
    BZOJ.2199.[USACO2011 Jan]奶牛议会(2-SAT)
    BZOJ.1997.[HNOI2010]Planar(2-SAT)
    POJ.3648.Wedding(2-SAT)
    POJ.3678.Katu Puzzle(2-SAT)
    POJ.3207.Ikki's Story IV-Panda's Trick(2-SAT)
    洛谷.4180.[模板]次小生成树Tree(Kruskal LCA 倍增)
    BZOJ.4766.文艺计算姬(Prufer)
    zabbix 微信告警机制
    网络地址
    tcp与udp的区别
  • 原文地址:https://www.cnblogs.com/zrp2013/p/4639193.html
Copyright © 2011-2022 走看看