当前位置:首页 > PHP教程 > php数组 > 列表

php根据数组中某一字段来实现排序

发布:smiling 来源: PHP粉丝网  添加日期:2022-05-24 09:58:18 浏览: 评论:0 

函数介绍:array_multisort() 函数返回一个排序数组。您可以输入一个或多个数组。函数先对第一个数组进行排序,接着是其他数组,如果两个或多个值相同,它将对下一个数组进行排序。

代码示例:

1、单个字段排序:

  1. $data = [ 
  2.  
  3.     ['id' => 1, 'name' => '张三''sort' => 60], 
  4.  
  5.     ['id' => 2, 'name' => '李四''sort' => 40], 
  6.  
  7.     ['id' => 3, 'name' => '王五''sort' => 80], 
  8.  
  9. ]; 
  10.  
  11.  
  12.  
  13. // 先取出要排序的字段的值 
  14.  
  15. $sort = array_column($data'sort'); 
  16.  
  17. // 按照sort字段升序  其中SORT_ASC表示升序 SORT_DESC表示降序 
  18.  
  19. array_multisort($sort, SORT_ASC, $data); 
  20.  
  21. // 输出结果 
  22.  
  23. var_dump($data); 

2、多个字段排序:

  1. $data = [ 
  2.  
  3.     ['id' => 1, 'name' => '张三''sort' => 60], 
  4.  
  5.     ['id' => 2, 'name' => '李四''sort' => 60], 
  6.  
  7.     ['id' => 3, 'name' => '王五''sort' => 80], 
  8.  
  9. ]; 
  10.  
  11.  
  12.  
  13. // 先取出要排序的字段的值 
  14.  
  15. $sort = array_column($data'sort'); 
  16.  
  17. $name = array_column($data'name'); 
  18.  
  19. // 先按照sort字段升序,再按照name字段降序 
  20.  
  21. array_multisort($sort, SORT_ASC, $name, SORT_DESC, $data); 
  22.  
  23. // 输出结果 
  24.  
  25. var_dump($data);

Tags: php数组字段排序

分享到: