• php 数组函数学习


    1、array_change_key_case

    array_change_key_case(array,case)函数将数组的所有的键都转换为大写字母或小写字母。array表示目标数组,case表示转成大写还是小写函数,CASE_LOWER默认表示转成小写也可以用0代替,CASE_UPPER表示转换成大写也可以用1代替

    <?php
    header('Content-type:text/html;charset=utf8');
    $arr = ['first' => 'this is first', 'SECOND' => 'this is second', 'thIRD' => 'this is third'];
    var_dump(array_change_key_case($arr, 0));
    //输出 array(3) { ["first"]=> string(13) "this is first" ["second"]=> string(14) "this is second" ["third"]=> string(13) "this is third" }
    ?>

     2、array_chunk

    array_chunk(array,length,preserve_key)表示按照长度对数组进行折分,array表示目录数组,length表示数组拆分的长度,如果最后一组数组不够拆分,那么就返回余下的项做为一组,preserve_key表示是否指定原数组的键名为该数组的键名,true表示键名和原数组一样,false表示重新以0开头编制新键名(默认)

    <?php
    header('Content-type:text/html;charset=utf8');
    $arr = ['A' => 'first', 'B' => 'second', 'C' => 'third'];
    var_dump(array_chunk($arr, 2));
    //输出 array(2) {
    //  [0]=> array(2) {
    //      [0]=> string(5) "first"
    //      [1]=> string(6) "second"
    //  }
    //  [1]=> array(1) {
    //      [0]=> string(5) "third"
    //  }
    // }
    ?>

     3、array_column

    array_column表示返回输入数组中某个单一列的值。(注意:必须是多维数组)

    array_column(array,column_key,index_key),array表示目标数组,column_key表示指定返回的列,index_key表示用作返回数组的索引/键的列;

    <?php
    header('Content-type:text/html;charset=utf8');
    // 表示由数据库返回的可能记录集的数组
    $a = array(
        array(
            'id' => 5698,
            'first_name' => 'Bill',
            'last_name' => 'Gates',
        ),
        array(
            'id' => 4767,
            'first_name' => 'Steve',
            'last_name' => 'Jobs',
        ),
        array(
            'id' => 3809,
            'first_name' => 'Mark',
            'last_name' => 'Zuckerberg',
        )
    );
    $last_names = array_column($a, 'last_name', 'id');
    print_r($last_names);
    /*
     Array
    (
        [5698] => Gates
        [4767] => Jobs
        [3809] => Zuckerberg
    )
     */
    ?>

    4、array_combine,array_merge,array_merge_recursive

    array_combine表示通过合并两个数组来创建一个新数组,其中的一个数组元素为键名,另一个数组元素为键值

    array_combine(keys,values),keys表示新数组的键名(数组),values表示新数组的数值(数组) 两个数组都不能为空数组,并且长度必需一致,否则返回false;

    array_merge(array1,array2,array3...) 函数把一个或多个数组合并为一个数组

    array_merge_recursive(array1,array2,array3...)函数把一个或多个数组合并为一个数组

    区别在于 array_merge 函数的区别在于处理两个或更多个数组元素有相同的键名时。array_merge_recursive() 不会进行键名覆盖,而是将多个相同键名的值递归组成一个数组。例子如下

    <?php
    header('Content-type:text/html;charset=utf8');
    $a = ['A', 'B', 'C'];
    $b = ['first', 'second', 'third'];
    print_r(array_combine($a, $b));
    //输出 Array ( [A] => first [B] => second [C] => third )
    print_r(array_merge($a, $b));
    //输出 Array ( [0] => A [1] => B [2] => C [3] => first [4] => second [5] => third )
    echo '<br>';
    $c = ['a' => 'one', 'b' => 'two', 'c' => 'three'];
    $d = ['a' => 'first', 'b' => 'second', 'c' => 'third'];
    $all = array_merge_recursive($c, $d);
    print_r($all);
    //输出如下
    //Array
    //(
    //    [a] => Array
    //        (
    //            [0] => one
    //            [1] => first
    //        )
    //
    //    [b] => Array
    //        (
    //            [0] => two
    //            [1] => second
    //        )
    //
    //    [c] => Array
    //        (
    //            [0] => three
    //            [1] => third
    //        )
    //
    //)
    print_r(array_merge($c, $d));
    //输出如下
    //Array
    //(
    //    [a] => first
    //    [b] => second
    //    [c] => third
    //)
    ?>

     5、array_count_values,array_values

    array_count_values(array)表示对目标数组中出现次数进行统计,返回一个新的数组

    array_values(array)函数返回一个包含给定数组中所有键值的数组,但不保留键名(键名是以0开始,并以1递增)

    <?php
    header('Content-type:text/html;charset=utf8');
    $a = ['a' => 'first', 'b' => 'second', 'c' => 'third', 'd' => 'first', 'e' => 'fourch'];
    print_r(array_count_values($a));
    //输出 Array ( [first] => 2 [second] => 1 [third] => 1 [fourch] => 1 )
    print_r(array_values($a));
    //输出 Array ( [0] => first [1] => second [2] => third [3] => first [4] => fourch )
    ?>

     6、array_diff,array_diff_key 和 array_diff_assoc

    array_diff() 函数返回两个数组的差集数组(注意:这个函数只比较值,不比较键,并且不改变原数组);作用=>可以用作删除数组中指定项的方法

    array_diff(array1,array2...),array1表示比较的目标数组,其他的表示需要与目标数组比较的数组

    而array_diff_key是只比较键名,键值不做比较,array_diff_assoc是键名和键值都比较

    <?php
    header('Content-type:text/html;charset=utf8');
    $a = ['a' => 'first', 'b' => 'second', 'c' => 'third'];
    $b = ['d' => 'first', 'b' => 'fourth', 'c' => 'third'];
    print_r(array_diff($a, $b));
    //输出 Array ( [b] => second )
    print_r(array_diff_key($a, $b));
    //输出 Array ( [a] => first )
    print_r(array_diff_assoc($a, $b));
    //输出 Array ( [a] => first [b] => second )
    ?>

    7、array_intersect,array_intersect_assoc 和 array_intersect_key

    array_intersect(array1,array2,array3...) 函数用于比较两个(或更多个)数组的键值,并返回交集。

    array_intersect_key(array1,array2,array3...)函数使用键名比较计算数组的交集。

    array_intersect_assoc(array1,array2,array3...)函数用于比较两个(或更多个)数组的键名和键值,并返回交集。

    <?php
    header('Content-type:text/html;charset=utf8');
    $a = ['a' => 'first', 'b' => 'second', 'c' => 'third'];
    $b = ['a' => 'first', 'b' => 'fourth', 'd' => 'third'];
    print_r(array_intersect($a, $b));
    //输出 Array ( [a] => first [c] => third )
    print_r(array_intersect_key($a, $b));
    //输出 Array ( [a] => first [b] => second )
    print_r(array_intersect_assoc($a, $b));
    //输出 Array ( [a] => first ) 
    ?>

    8、array_fill,array_fill_keys

    array_fill(start,length,value)表示用给定的键值来填充数组start表示在数组key开始的位置,length表示填充的长度,value表示填充的值,返回一个新数组

    array_fill_keys(keys,value)函数使用指定的键和值填充数组。keys使用该数组的值作为键。非法值将被转换为字符串,value表示填充数组所使用的值。返回一个新数组

    <?php
    header('Content-type:text/html;charset=utf8');
    $a = ['a' => 'first', 'b' => 'second', 'c' => 'third'];
    print_r(array_fill(3, 2, 'ok'));
    //输出 Array ( [3] => ok [4] => ok )
    print_r(array_fill_keys($a, 'ok'));
    //输出 Array ( [first] => ok [second] => ok [third] => ok ) 
    ?>

     9、array_filter,array_reduce,array_map

    array_filter(array,callback)表示用callback这个函数来过滤array这个数组,返回一个新数组。

    array_reduce(array,callback,initial)该函数是进行迭代的函数,array表示目标函数,callback表示一个function里面接收两个值一个值是上次返回的值,第二个值是当前的值,initial表示初始值

    array_map(callback,array)函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数。

    注意:这三个函数方法的参数的位置

    <?php
    header('Content-type:text/html;charset=utf8');
    $a = ['a' => 'first', 'b' => 'second', 'c' => 'third'];
    $b = array_filter($a, function () {
        print_r(func_get_args());
        //得到的参数的数组的每一项
        //输出 Array ( [0] => first ) Array ( [0] => second ) Array ( [0] => third )
        return func_get_arg(0) == 'first';
    });
    print_r($b);
    //输出 Array ( [a] => first )
    $c = array_map(function ($v) {
        print_r(func_get_args());
        //得到的参数的数组的每一项
        //输出 Array ( [0] => first ) Array ( [0] => second ) Array ( [0] => third )
        return $v . 'add';
    }, $a);
    print_r($c);
    //输出 Array ( [a] => firstadd [b] => secondadd [c] => thirdadd )
    
    echo '<br>';
    $t = array_reduce($a, function ($m, $n) {
        var_dump($m, $n);
        return $m . $n;
    }, 1);
    print_r($t);
    //输出的结果如下
    //int(1) string(5) "first" 
    //string(6) "1first" string(6) "second" 
    //string(12) "1firstsecond" string(5) "third" 
    //1firstsecondthird
    ?>

     10、array_keys,array_key_exists,array_search,in_array

    array_keys(array)返回包含数组中所有键名的一个新数组

    array_key_exists(key,array)函数检查某个数组中是否存在指定的键名,如果键名存在则返回 true,如果键名不存在则返回 false。key表示需要查找的键值,array表示目标数组

    array_search(key,array,strict)在数组中查找值,key表示查找的值,array表示目标数组,strict表示是否按严格模式(默认是false),严格模式是指值和格式相同,如果存在则返回键,不存在返回false

    in_array(key,array)判断目标数组中是否含有指定的值

    <?php
    header('Content-type:text/html;charset=utf8');
    $a = ['a' => 'first', 'b' => 'second', 'c' => 'third'];
    print_r(array_keys($a));
    //输出 Array ( [0] => a [1] => b [2] => c )
    var_dump(array_key_exists('b', $a));
    //输出 bool(true)
    echo '<br>';
    var_dump(array_search('second', $a));
    //输出 string(1) "b"
    echo '<br>';
    var_dump(in_array('first',$a));
    //输出 bool(true)
    ?>

     11、array_flip,array_reverse,array_unique

    array_flip(array)反转数组中所有的键以及它们关联的值,返回新数组,原数组不改变

    array_reverse(array)以相反的元素顺序返回数组,原数组不改变

    array_unique(array)移除数组中重复的值,原数组不改变

    <?php
    header('Content-type:text/html;charset=utf8');
    $a = ['a' => 'first', 'b' => 'second', 'c' => 'third', 'd' => 'second'];
    print_r(array_flip($a));
    //输出 Array ( [first] => a [second] => d [third] => c )
    print_r(array_reverse($a));
    //输出 Array ( [d] => second [c] => third [b] => second [a] => first )
    print_r(array_unique($a));
    //输出 Array ( [a] => first [b] => second [c] => third ) 
    ?>

    12、array_sum,array_product

    array_sum(array)表示求数组中所有数的总和,如果是非数字,那为按0计算

    array_product(array)表示求数组中所有数的乘积,如果含有非数字,那么总乘为0

    <?php
    header('Content-type:text/html;charset=utf8');
    $a = [1, 2, 3, 4, 5];
    var_dump(array_product($a));
    //输出 int(120)
    var_dump(array_sum($a));
    //输出 int(15)
    ?>

     13、array_rand,array_pad,array_slice

    array_rand(array,number)函数返回数组中的随机键名,或者如果您规定函数返回不只一个键名,则返回包含随机键名的数组

    array_pad(array,length,value)函数将指定数量的带有指定值的元素插入到数组中,array表示目标数组,length表示修改后的数组长度,value表示插入项的值

    array_slice(array,start,length,preserve)函数在数组中根据条件取出一段值,并返回。array表示目标数组,start表示开始的位置,length表示截取的长度,preserve表示是否保留原有的键(默认是false即不保留)

    <?php
    header('Content-type:text/html;charset=utf8');
    $a = ['a' => 'first', 'b' => 'second', 'c' => 'third', 'd' => 'fourth', 'e' => 'fifth', 'f' => 'sixth'];
    $b = ['first', 'second', 'third'];
    print_r(array_rand($a, 3));
    //输出 Array ( [0] => a [1] => c [2] => d ) 
    print_r(array_pad($b, 4, 'ok'));
    //输出 Array ( [0] => first [1] => second [2] => third [3] => ok )
    print_r(array_slice($b, 1, 2, true));
    //输出 Array ( [1] => second [2] => third )
    ?>

     14、array_pop,array_push,array_shift,array_unshift,array_splice

    array_pop(array)删除目标数组的最后一项,返回删除的项

    array_push(array,value1,value2...)函数向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度。

    array_shift(array) 函数删除数组中第一个元素,并返回被删除元素的值。

    array_unshift(array,value1,value2...)函数用于向数组插入新元素。新数组的值将被插入到数组的开头,然后返回新数组的长度

    array_splice(array,start,length,array)函数从数组中移除选定的元素,并用新元素取代它。该函数也将返回包含被移除元素的数组,array表示目标数组,start表示删除元素的开始位置,length表示删除元素的个数,array表示需要插入到数组中的元素,如果只有一个值,那么用字符串表示即可

    注意:以上方法均会改变原数组

    <?php
    header('Content-type:text/html;charset=utf8');
    $a = ['first', 'second', 'third', 'fourth', 'fifth'];
    array_pop($a);
    print_r($a);
    //输出 Array ( [0] => first [1] => second [2] => third [3] => fourth )
    array_push($a, 'fifth', 'sixth');
    print_r($a);
    //输出 Array ( [0] => first [1] => second [2] => third [3] => fourth [4] => fifth [5] => sixth )
    array_shift($a);
    print_r($a);
    //输出 Array ( [0] => second [1] => third [2] => fourth [3] => fifth [4] => sixth )
    array_unshift($a, 'zero', 'first');
    print_r($a);
    //输出 Array ( [0] => zero [1] => first [2] => second [3] => third [4] => fourth [5] => fifth [6] => sixth )
    array_splice($a, 3, 4, ['A', 'B', 'C', 'D']);
    print_r($a);
    //输出 Array ( [0] => zero [1] => first [2] => second [3] => A [4] => B [5] => C [6] => D )
    ?>

     15、array_replace,array_replace_recursive

    array_replace(array1,array2,array3...)函数表示使用后面数组的值替换第一个数组的值。如果key值和array1中的key相同,那么值会进行覆盖否则会创建新值(相当于jquery里的$.extend)

    array_replace_recursive(array1,array2,array3...)函数递归地使用后面数组的值替换第一个数组的值。如果是多维数组,但是没有明细出后面array2及以后数组的明细项,那么功能将会和array_replace一样

    <?php
    header('Content-type:text/html;charset=utf8');
    $a = ['a' => 'first', 'b' => 'second', 'c' => 'third'];
    $b = ['a' => 'A', 'B', 'c' => 'C'];
    $t = array_replace($a, $b);
    print_r($t);
    //输出 Array ( [a] => A [b] => second [c] => C [0] => B )
    echo '<br>';
    $a = ['first' => ['red', 'blue'], 'second' => ['yellow', ['green']]];
    $b = ['first' => ['black'], 'second' => ['white', ['pink']]];
    $t = array_replace_recursive($a, $b);
    print_r($t);
    //输出如下结果
    /*
    Array
    (
        [first] => Array
        (
            [0] => black
            [1] => blue
            )
        [second] => Array
    (
        [0] => white
        [1] => Array
    (
        [0] => pink
    )
            )
    )
    */
    ?>

     16、array_walk,array_walk_recursive

    array_walk(array,callback,userdata...)函数对数组中的每个元素应用用户自定义函数。在函数中,数组的键名和键值是参数。array表示目标数组,callback表示回调函数里面会接收到两个参数一个是每一项的value和key以及传入的参数,userdata表示用户传入的参数

    array_walk_recursive(array,callback,userdata...)用法同上,不同之处是本方法是遍历多维数组

    <?php
    header('Content-type:text/html;charset=utf8');
    $a = ['a' => 'first', 'b' => 'second', 'c' => ['third']];
    $b = array_walk($a, function ($v, $k, $p) {
        var_dump(func_get_args());
        echo '<br>';
    }, 'add');
    //输出如下
    //array(3) { [0]=> string(5) "first" [1]=> string(1) "a" [2]=> string(3) "add" }
    //array(3) { [0]=> string(6) "second" [1]=> string(1) "b" [2]=> string(3) "add" }
    //array(3) { [0]=> array(1) { [0]=> string(5) "third" } [1]=> string(1) "c" [2]=> string(3) "add" }
    $b = array_walk_recursive($a, function ($v, $k, $p) {
        var_dump(func_get_args());
        echo '<br>';
    }, 'add');
    //输出如下
    //array(3) { [0]=> string(5) "first" [1]=> string(1) "a" [2]=> string(3) "add" }
    //array(3) { [0]=> string(6) "second" [1]=> string(1) "b" [2]=> string(3) "add" }
    //array(3) { [0]=> string(5) "third" [1]=> int(0) [2]=> string(3) "add" }
    
    //多维数组转换成一维数组
    $all = [];
    $array = [
        'name' => 'xiaoming',
        'age' => 30,
        'class' => [
            'lan' => ['set' => 'ok'],
            'get' => 'hello'
        ]
    ];
    //注意引用
    array_walk_recursive($array, function ($value, $key) use (&$all) {
        $all[$key] = $value;
    });
    print_r($all);
    //输出 Array ( [name] => xiaoming [age] => 30 [set] => ok [get] => hello )
    ?>

     17、extract,list,shuffle

    extract(array,extract_rules,prefix)表示函数从数组中将变量导入到当前的符号表,array表示目标数组,extract_rules表示对变量名称的检查,并做处理,prefix表示在变量前加前缀(后面两个参数是可选的)

    list(val1,val2,val3...)表示函数用于在一次操作中给一组变量赋值,注意:该函数只用于数字索引的数组,且假定数字索引从 0 开始

    shuffle(array)表示函数把数组中的元素按随机顺序重新排列,shuffle会改变原有数组

    <?php
    header('Content-type:text/html;charset=utf8');
    $a = ['a' => 'first', 'b' => 'second', 'c' => 'third'];
    extract($a);
    echo $a, $b, $c;
    //输出 firstsecondthird
    $b = ['are', 'you', 'ok'];
    list($first, $second, $third) = $b;
    var_dump($first, $second, $third);
    //输出 string(3) "are" string(3) "you" string(2) "ok"
    $t = shuffle($b);
    print_r($b);
    //输出 Array ( [0] => you [1] => are [2] => ok )
    ?>

     18、compact,range

    compact(val1,val2,val3...)函数创建包含变量名和它们的值的数组(与extract相对)

    range(low,high,step)函数创建一个包含指定范围的元素的数组,low表示数组的最低值,high表示数组的最高值,step表示数组的步长,默认是1

    当range('a','z',1),那么会实现一个a-z填充的数组,range('A','Z',1),那么会出现一个A-Z的填充数组

    <?php
    header('Content-type:text/html;charset=utf8');
    $a = 'first';
    $b = 'second';
    $c = 'third';
    print_r(compact('a', 'b', 'c'));
    //输出 Array ( [a] => first [b] => second [c] => third ) 
    print_r(range(0, 5, 2));
    //输出 Array ( [0] => 0 [1] => 2 [2] => 4 )
    ?>

     19、count,end,reset

    count(array)返回数组的长度

    end(array)返回目标数组的最后一项,并且把当前指针指向最后一项

    reset(array)返回目标数组的第一项,并且把当前指针指向第一项

    <?php
    header('Content-type:text/html;charset=utf8');
    $a = ['a' => 'first', 'b' => 'second', 'c' => 'third'];
    var_dump(count($a));
    //输出 int(3)
    var_dump(end($a));
    //输出 string(5) "third"
    var_dump(reset($a));
    //输出 string(5) "first"
    ?>

     20、current,next,prev,key

    current(array)表示当前数组的指针指向的当前元素的值

    next(array)表示把指针向下移一个单位,并且返回指向元素的值,如果没有则返回false

    prev(array)表示把指针向上移一个单位,并且返回指向元素的值,如果没有则返回false

    key(array) 返回当前指针指向元素的key值,如果没有返回false

    <?php
    header('Content-type:text/html;charset=utf8');
    $a = ['a' => 'first', 'b' => 'second', 'c' => 'third'];
    var_dump(current($a));
    //输出 string(5) "first"
    var_dump(next($a));
    //输出 string(6) "second"
    var_dump(key($a));
    //输出 string(1) "b"
    var_dump(prev($a));
    //输出 string(5) "first"
    ?>

     21、array_multisort

    sorting type分别有SORT_REGULAR,SORT_NUMERIC,SROT_STRING三种常用的类型(会改变原数组)

    array_multisort(array1,sorting order,sorting type,array2,array3...)表示对数组进行排序,改变的是原数组,array1表示目标数组,sorting order表示排列的顺序,sorting type表示排列的依据

    <?php
    header('Content-type:text/html;charset=utf8');
    $a = [1, 3, 5, 13, 7];
    $t = array_multisort($a, SORT_ASC);
    print_r($a);
    //输出 Array ( [0] => 1 [1] => 3 [2] => 5 [3] => 7 [4] => 13 )
    ?>

    对数级里的数级或者对象进行排序

    <?php
    header('content-type:text/html;charset=utf8');
    ini_set('display_errors', true);
    
    class A
    {
        public $name;
        public $age;
    
        public function __construct($name, $age)
        {
            $this->name = $name;
            $this->age = $age;
        }
    }
    
    $p1 = new A('aaa', 12);
    $p2 = new A('bbb', 8);
    $p3 = new A('ccc', 32);
    $p4 = new A('ddd', 34);
    $p5 = new A('eee', 28);
    $array = compact('p1', 'p2', 'p3', 'p4', 'p5');
    $age = array_column($array, 'age');
    array_multisort($age, SORT_ASC, SORT_NUMERIC, $array);
    var_dump($array);
    ?>
    <?php
    header('content-type:text/html;charset=utf8');
    ini_set('display_errors', true);
    
    $data[] = array('volume' => 67, 'edition' => 2);
    $data[] = array('volume' => 86, 'edition' => 1);
    $data[] = array('volume' => 85, 'edition' => 6);
    $data[] = array('volume' => 98, 'edition' => 2);
    $data[] = array('volume' => 86, 'edition' => 6);
    $data[] = array('volume' => 67, 'edition' => 7);
    $volume = array_column($data, 'volume');
    $edition = array_column($data, 'edition');
    array_multisort($volume, SORT_DESC, SORT_NUMERIC, $edition, SORT_ASC, SORT_NUMERIC, $data);
    echo '<pre>';
    var_dump($data);
    //输出
    //volume | edition
    //-------+--------
    //    98 | 2
    //    86 | 1
    //    86 | 6
    //    85 | 6
    //    67 | 2
    //    67 | 7
    ?>

    22、asort,ksort,arsort,krsort

    sorting type分别有SORT_REGULAR,SORT_NUMERIC,SROT_STRING三种常用的类型,并且这几个数据改变的是原数组

    asort(array,sortingtype)函数对关联数组按照键值进行升序排序。array表示目标数组,sortingtype表示排列的依据

    ksort(array,sortingtype)函数对关联数组按照键名进行升序排序。

    arsort(array,sortingtype)函数对关联数组按照键值进行降序排序。

    krsort(array,sortingtype)按照键名对关联数组进行降序排序。

    <?php
    header('Content-type:text/html;charset=utf8');
    $a = [1, 3, 5, 13, 7];
    asort($a, SORT_NUMERIC);
    print_r($a);
    //输出 Array ( [0] => 1 [1] => 3 [2] => 5 [4] => 7 [3] => 13 )
    arsort($a, SORT_NUMERIC);
    print_r($a);
    //输出 Array ( [3] => 13 [4] => 7 [2] => 5 [1] => 3 [0] => 1 )
    ksort($a, SORT_NUMERIC);
    print_r($a);
    //输出 Array ( [0] => 1 [1] => 3 [2] => 5 [3] => 13 [4] => 7 )
    krsort($a, SORT_NUMERIC);
    //输出 Array ( [4] => 7 [3] => 13 [2] => 5 [1] => 3 [0] => 1 )
    ?>

    23、uasort,uksort

    uasort(array,callback)根据自定义的回调对数组的值进行排序

    uksort(array,callback)根据自定义的回调对数组的键名进行排序

    <?php
    header('Content-type:text/html;charset=utf8');
    $a = [1, 3, 5, 13, 7, 4, 6, 8];
    uasort($a, function ($m, $n) {
        return $m > $n ? 1 : -1;
    });
    //输出 Array ( [0] => 1 [1] => 3 [5] => 4 [2] => 5 [6] => 6 [4] => 7 [7] => 8 [3] => 13 )
    uksort($a, function ($m, $n) {
        return $m > $n ? 1 : -1;
    });
    print_r($a);
    //输出 Array ( [0] => 1 [1] => 3 [2] => 5 [3] => 13 [4] => 7 [5] => 4 [6] => 6 [7] => 8 )
    ?>
  • 相关阅读:
    MyEclipse2014安装插件的几种方式(适用于Eclipse或MyEclipse其他版本)
    淘淘商城 本地仓库配置和仓库jar包下载
    淘淘商城的第一天
    Oracle12c 性能优化攻略:攻略1-1:创建具有最优性能的数据库
    Eclipse开发环境配置
    Oracle12c 性能优化攻略:攻略目录表
    将日期或数据转换为char数据类型 TO_CHAR(x[[,c2],C3])
    根据条件返回相应值 decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)
    【功能】返回数据类型、字节长度和在内部的存储位置.DUMP(w[,x[,y[,z]]])
    alter table的用法
  • 原文地址:https://www.cnblogs.com/rickyctbu/p/9801876.html
Copyright © 2020-2023  润新知