array_multisort 排序

PHP二次开发 PHP 198 次浏览 , , 1条评论
  1. $a1=array("Pluto","Fido","Missy");
  2. array_multisort($a1,SORT_ASC);
  3. print_r($a1);

 

打印结果:

  1. (
  2. [0] => Fido
  3. [1] => Missy
  4. [2] => Pluto
  5. )
  1. $a1=array(1,30,15,7,25);
  2. $a2=array(4,30,20,41,66);
  3. $num=array_merge($a1,$a2);
  4. array_multisort($num,SORT_DESC,SORT_NUMERIC);
  5. print_r($num);

 

打印结果:

  1. (
  2. [0] => 66
  3. [1] => 41
  4. [2] => 30
  5. [3] => 30
  6. [4] => 25
  7. [5] => 20
  8. [6] => 15
  9. [7] => 7
  10. [8] => 4
  11. [9] => 1
  12. )
  1. $arr = [
  2. [
  3. 'id'=>5,
  4. 'name'=>'55'
  5. ],
  6. [
  7. 'id'=>3,
  8. 'name'=>'33'
  9. ],
  10. [
  11. 'id'=>1,
  12. 'name'=>'11'
  13. ],
  14. [
  15. 'id'=>4,
  16. 'name'=>'44'
  17. ],
  18. [
  19. 'id'=>2,
  20. 'name'=>'22'
  21. ]
  22. ];
  23. $sort = [
  24. ['id' => 1],
  25. ['id' => 2],
  26. ['id' => 3],
  27. ['id' => 4],
  28. ['id' => 5]
  29. ];
  30. array_multisort($sort, SORT_ASC,SORT_NUMERIC, $arr);
  31. print_r($arr);

 

打印结果:

  1. (
  2. [0] => Array
  3. (
  4. [id] => 1
  5. [name] => 11
  6. )
  7.  
  8. [1] => Array
  9. (
  10. [id] => 2
  11. [name] => 22
  12. )
  13.  
  14. [2] => Array
  15. (
  16. [id] => 3
  17. [name] => 33
  18. )
  19.  
  20. [3] => Array
  21. (
  22. [id] => 4
  23. [name] => 44
  24. )
  25.  
  26. [4] => Array
  27. (
  28. [id] => 5
  29. [name] => 55
  30. )
  31.  
  32. )

多字段排序

二维数组 先根据字段A排序 如果A一样通过字段B排序 如果AB都一样 就按C字段排序

思路:

1.先搜集要排序的字段的值分别组合成一个新的数组

2.在用array_multisort 根据要排序的字段值 按先后进行排序就行

$order_data-要排序的数组

  1. //二位数组根据多个字段排序
  2. foreach ($order_data as $key => $row ){
  3. $inv_total_amount_order[$key] = $row ['inv_total_amount'];
  4. $last_time_order[$key] = $row ['last_time'];
  5. $persion_year_inv_total_order[$key] = $row['persion_year_inv_total'];
  6. $user_reg_time_order[$key] = $row ['user_reg_time'];
  7. }
  8. array_multisort($persion_year_inv_total_order,SORT_DESC,$last_time_order, SORT_ASC,$inv_total_amount_order, SORT_DESC, $user_reg_time_order,SORT_ASC,$order_data);

一条评论

  1. 口工漫画大全妖气全彩 2019年5月3日 下午3:24 回复

    好文章!666,学习了

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Go