关于回调函数 usort() uksrot() sort() 介绍简介实验是从小到大排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于回调函数 usort() uksrot() sort() 介绍简介实验是从小到大排序相关的知识,希望对你有一定的参考价值。

/*
 * usort($arr, "自定义回调函数") 对数组中的值进行比较
 */
    $a=array(1,5,2,6,3);    //用户自定义回调函数
    function dd($a, $b){    //用户自定义回调函数
        if($a == $b){
            return 0;       //如果两个参数相等,返回0
        }
        return ($a<$b)?-1:1;  //如果第1个参数大于第2个返回1,否则-1
    }
    
    usort($a, "dd");   //使用自定义函数对数组键名,按照自定义的回调函数排序
    
    foreach($a as $key=>$value){  //循环输出排序后的键值对
        echo "$key:$value<br/>";
    }

/*运行结果

0:1
1:2
2:3
3:5
4:6

*/

/*
     * uksort($arr, "自定义回调函数") 对数组中的键名进行排序
     */
    $a=array(4=>"four",3 =>"three",20 =>"twenty",10=>"ten"); //定义一个数组     //用户自定义回调函数
    function cmp($a, $b){    //用户自定义回调函数
        if($a == $b){
            return 0;       //如果两个参数相等,返回0
        }
        return ($a<$b)?-1:1;  //如果第1个参数大于第2个返回1,否则-1
    }
    
    uksort($a, "cmp");   //使用自定义函数对数组键名,按照自定义的回调函数排序
    
    foreach($a as $key=>$value){  //循环输出排序后的键值对
        echo "$key:$value<br/>";
    }

/*运行结果

3:three
4:four
10:ten
20:twenty

*/

/*
     *sort($arr") 当本函数结束时数组单元将被从最低到最高重新安排。 【原有的键名将被删除】
     */
    $arr= array("one"=>1,4,5,2,3,6);
    sort($arr);
    print_r($arr);
    echo "<br/>";

/*

运行结果

Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )

*/

 

以上是关于关于回调函数 usort() uksrot() sort() 介绍简介实验是从小到大排序的主要内容,如果未能解决你的问题,请参考以下文章

在带有类私有函数的 php 中使用 usort

php值callback类型和匿名函数(闭包)

usort() 自定义排序

我必须实现哪个 SPL 接口才能在对象上使用 usort() 函数?

usort — 使用用户自定义的比较函数对数组中的值进行排序

使用usort和自定义比较函数的多维数组/对象排序