首页 > 后端开发 > php教程 > php 数组排序的例子(不用内置函数)

php 数组排序的例子(不用内置函数)

WBOY
发布: 2016-07-25 09:04:06
原创
1331 人浏览过
  1. function arraysort($data, $order = 'asc') {
  2. //asc升序 desc降序
  3. $temp = array ();
  4. $count = count ( $data );
  5. if ($count return false; //传入的数据不正确
  6. if ($order == 'asc') {
  7. for($i = 0; $i for($j = $count - 1; $j > $i; $j --) {
  8. if ($data [$j] //交换两个数据的位置
  9. $temp = $data [$j];
  10. $data [$j] = $data [$j - 1];
  11. $data [$j - 1] = $temp;
  12. }
  13. }
  14. }
  15. } else {
  16. for($i = 0; $i for($j = $count - 1; $j > $i; $j --) {
  17. if ($data [$j] > $data [$j - 1]) {
  18. $temp = $data [$j];
  19. $data [$j] = $data [$j - 1];
  20. $data [$j - 1] = $temp;
  21. }
  22. }
  23. }
  24. }
  25. return $data;
  26. }
  27. $data = array (7, 5, 3, 8, 9, 1, 5, 3, 1, 24, 3, 87, 0, 33, 1, 12, 34, 54, 66, 32 );
  28. var_dump ( arraysort ( $data ) ); //升序
  29. echo ('
    ');
  30. var_dump ( arraysort ( $data ,'desc') );//降序
复制代码

2、插入排序法

  1. function arraysort3($data, $order = 'asc') {
  2. //目前只做升序排列
  3. $count = count ( $data );
  4. for($i = 1; $i $temp = $data [$i];
  5. $j = $i - 1;
  6. while ( $data [$j] > $temp ) {
  7. $data [$j + 1] = $data [$j];
  8. $data [$j] = $temp;
  9. $j --;//为什么要递减:从高位逐位判断
  10. }
  11. }
  12. return $data;
  13. }
  14. $data = array (7, 5, 3, 8, 9, 1, 5, 3, 1, 24, 3, 87, 0, 33, 1, 12, 34, 54, 66, 32 );
  15. var_dump ( arraysort3 ( $data ) ); //升序
  16. ?>
复制代码

以上代码介绍了php 数组排序的二个例子,分别用了冒泡法与插入法,希望对大家有所帮助。 脚本学堂,专心为您每一天。

>>> 更多内容,请查看 php数组排序方法大全



来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板