php数组函数(2)

sort();对数组的值进行正向排序,从小到大

    $arr = [3,6,1,7,2,5,4];
    sort($arr);
    print_r($arr);

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

rsort();对数组的值进行逆向排序,从大到小

    $arr = [3,6,1,7,2,5,4];
    rsort($arr);
    print_r($arr);

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

ksort();对数组的键名进行正向排序,从小到大

    $arr = ['a'=>1,'c'=>2,'b'=>3,'d'=>4];
    ksort($arr);
    print_r($arr);

    //Array ( [a] => 1 [b] => 3 [c] => 2 [d] => 4 )

krsort();对数组的键名进行反向排序.从大到小
    $arr = ['a'=>1,'c'=>2,'b'=>3,'d'=>4];
    krsort($arr);
    print_r($arr);

    //Array ( [d] => 4 [c] => 2 [b] => 3 [a] => 1 )

asort();对数组的值进行正向排序从小到大,不改变值的索引

    $arr=['a'=>2,'c'=>1,'b'=>4,'d'=>3];
    asort($arr);
    print_r($arr);

   //Array ( [c] => 1 [a] => 2 [d] => 3 [b] => 4 )

arsort();对数组的值进行逆向排序,从大到小,不改变值的索引

    $arr = ['a'=>2,'c'=>1,'b'=>4,'d'=>3];
    arsort($arr);
    print_r($arr);

   //Array ( [b] => 4 [d] => 3 [a] => 2 [c] => 1 )

array_multisort();对多个数组或这多维数组进行排序,关联数组键名保持不变,数字键名会被重新索引

   $arr1=[1,2,3,4,5];
   $arr2=[5,4,3,2,1];
   array_multisort($arr1,SORT_DESC,$arr2,SORT_ASC);
   print_r($arr1);
   print_r($arr2);

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

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

array_multisort();排序多维数组

   $arr1 = [
       [1,2,3,4,5],
       [5,4,3,2,1]
   ];
   array_multisort($arr1[0],SORT_DESC,$arr1[1],SORT_ASC);
   print_r($arr1);
   //  Array (

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

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

   )

猜你喜欢

转载自blog.csdn.net/weixin_42881256/article/details/82804718