PHP按指定键值对二维数组进行排序的方法

这篇文章主要介绍了PHP按指定键值对二维数组进行排序的方法,涉及PHP二维数组的遍历及array_multisort函数的使用技巧,需要的朋友可以参考下。

本文实例讲述了PHP按指定键值对二维数组进行排序的方法,分享给大家供大家参考,具体如下:

问题:

有数组:

array(0=>array('id'=>1,'price'=>50),1=>array('id'=>2,'price'=>60));

要求根据数组的price这个字段进行排序。

实现代码如下:

  1. <?php
  2. $array[] = array('id'=>1,'price'=>50);
  3. $array[] = array('id'=>2,'price'=>70);
  4. $array[] = array('id'=>3,'price'=>30);
  5. $array[] = array('id'=>4,'price'=>20);
  6. foreach ($array as $key=>$value){
  7. $id[$key] = $value['id'];
  8. $price[$key] = $value['price'];
  9. }
  10. array_multisort($price,SORT_NUMERIC,SORT_DESC,$id,SORT_STRING,SORT_ASC,$array);
  11. echo '<pre>';
  12. print_r($array);
  13. echo '</pre>';
  14. ?>

运行结果:

  1. Array
  2. (
  3. [0] => Array
  4. (
  5. [id] => 2
  6. [price] => 70
  7. )
  8. [1] => Array
  9. (
  10. [id] => 1
  11. [price] => 50
  12. )
  13. [2] => Array
  14. (
  15. [id] => 3
  16. [price] => 30
  17. )
  18. [3] => Array
  19. (
  20. [id] => 4
  21. [price] => 20
  22. )
  23. )

希望本文所述对大家PHP程序设计有所帮助。