加入收藏 | 设为首页 | 会员中心 | 我要投稿 南昌站长网 (https://www.0791zz.cn/)- 终端安全、安全管理、数据治理、图像分析、大数据!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP数组排序函数使用方法

发布时间:2022-07-24 11:39:18 所属栏目:PHP教程 来源:互联网
导读:在php中数据排序函数有很多,包括有一维数组排序函数与二维数组排序函数,包括简单sort函数升序排序,rsort降序排列等. php数组排序函数有: sort ($arr[,fruits]) 对数组进行从低到高排序,并赋予新的键名 返回bool rsort ($arr[,fruits]) 对数组进行逆向排序,并
  在php中数据排序函数有很多,包括有一维数组排序函数与二维数组排序函数,包括简单sort函数升序排序,rsort降序排列等.
 
  php数组排序函数有:
 
  sort  (&$arr[,fruits])  对数组进行从低到高排序,并赋予新的键名 返回bool
 
  rsort  (&$arr[,fruits]) 对数组进行逆向排序,并赋予新的键名
 
  asort (&$arr[,fruits]) 对数组进行排序,并保持索引不变
 
  arsort(&$arr[,fruits]) 对数组进行逆向排序,并保持索引不变
 
  ksort (&$arr[,fruits] ) 对数组按照键名进行排序
 
  krsort(&$arr[,fruits] ) 对组数按照键名进行逆向排序
 
  natsort(&$arr) 对数组键值进行‘自然排序法’ 按照长度 字母排序等
 
  natcasesort(&$arr) 对数组进行不区分大小写的,‘自然排名’
 
  usort ( &$arr , cmp_function ) 用户自定义函数对一个数组进行排序 重新排列键名
 
  uksort (&$arr , cmp_function ) 用户自定义函数对一个数组进行键名排序
 
  uasort (&$arr , cmp_function) 用户自定义函数对数组进行排序 并保持索引不变
 
  array_multisort( $arr , mixed)
 
  第二个参数是,可以根据值改变排序行为
 
  SORT_REGULAR 正常比较单元  SORT_NUMERIC 单元被作为数字来比较
 
  SORT_STRING 单元被作为字符串来比较 SROT_LOCALE_STRING 根据当前的local 设置来把单元当做字符串比较.
 
  sort函数升序排序
 
  bool sort (array &$array [,int $sort_flags= SORT_REGULAR ])
 
  代码如下:
 
  <?php
  $fruits = array("lemon", "orange", "banana", "apple");
  sort($fruits);
  var_dump($fruits);
  ?>
  /*
  结果:
  array
  0 =>
  string
   'apple' (length=5)
    1 =>
  string
   'banana' (length=6)
    2 =>
  string
   'lemon' (length=5)
    3 =>
  string
   'orange' (length=6)
  */
  rsort降序排列,代码如下:
 
  <?php
  $fruits = array("lemon", "orange", "banana", "apple");
  rsort($fruits);
  var_dump($fruits);
  ?>
  /*
  结果:
  array
    0 =>
   
  string
   
   'orange' (length=6)
    1 =>
   
  string
   
   'lemon' (length=5)
    2 =>
   
  string
   
   'banana' (length=6)
    3 =>
   
  string
   
   'apple' (length=5)
  */
  asort按照二维数组值的升序排列(保持key=>value的关联关系),代码如下:
 
  <?php
  $fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
  asort($fruits);
  var_dump($fruits);
  ?>
  /*
  结果:
  array
    'c' =>
   
  string
   
   'apple' (length=5)
    'b' =>
   
  string
   
   'banana' (length=6)
    'd' =>
   
  string
   
   'lemon' (length=5)
    'a' =>
   
  string
   
   'orange' (length=6)
  */
  arsort按照二维数组值的降序排列,保持key=>value的关联关系,代码如下:
 
  <?php
  $fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
  arsort($fruits);
  var_dump($fruits);
  ?>
  /*
  结果
  array
    'a' =>
   
  string
   
   'orange' (length=6)
    'd' =>
   
  string
   
   'lemon' (length=5)
    'b' =>
   
  string
   
   'banana' (length=6)
    'c' =>
   
  string
   
   'apple' (length=5)
  */
  ksort按照数组的key升序排列,代码如下:
 
  <?php
   
  $fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
  ksort($fruits);
  var_dump($fruits);
  ?>
  /*
  结果
  array
   
  'a' =>
   
  string
   
   'orange' (length=6)
    'b' =>
   
  string
   
   'banana' (length=6)
    'c' =>
   
  string
   
   'apple' (length=5)
    'd' =>
   
  string
  */
   'lemon' (length=5) 

(编辑:南昌站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读