之前在做一个功能的时候,必须要把数据放到二维数组里并且排序,然后上网找找解决思路,
这时候会用到array_multisort函数,在那之前我都不知道有这个函数
array_multisort() 函数对多个数组或多维数组进行排序
先来看一个实例

  1. <?php
  2. $data=array(
  3. 0=>array('one'=>34,'two'=>'d'),
  4. 1=>array('one'=>45,'two'=>'e'),
  5. 2=>array('one'=>47,'two'=>'h'),
  6. 3=>array('one'=>12,'two'=>'c'),
  7. 4=>array('one'=>15,'two'=>'w'),
  8. 5=>array('one'=>85,'two'=>'r'),
  9. );
  10. foreach($data as $val){
  11. $key_arrays[]=$val['one'];
  12. }
  13.  
  14. array_multisort($key_arrays,SORT_ASC,SORT_NUMERIC,$data);
  15. var_dump($data);

下面来封装成函数方便使用

  1. function my_array_multisort($data,$sort_order_field,$sort_order=SORT_ASC,$sort_type=SORT_NUMERIC){
  2.  
  3. foreach($data as $val){
  4. $key_arrays[]=$val[$sort_order_field];
  5. }

  6. array_multisort($key_arrays,SORT_ASC,SORT_NUMERIC,$data);
  7. return $data;
  8. }
相关评论(0)
您是不是忘了说点什么?

友情提示:垃圾评论一律封号...

还没有评论,快来抢沙发吧!