php判断一个数组是否为有序的方法

这篇文章主要介绍了php判断一个数组是否为有序的方法,涉及php操作数组遍历的相关技巧,非常具有实用价值,需要的朋友可以参考下.

本文实例讲述了php判断一个数组是否为有序的方法,分享给大家供大家参考,具体分析如下:

这段代码的时间复杂度为O(n)

  1. <?php
  2. function JudegSortArray($array) {
  3. if ($array [0] > $array [1]) {
  4. $flag = 1;
  5. } else {
  6. $flag = 0;
  7. }
  8. $temp = $flag;
  9. $len = count ( $array );
  10. for($i = 1; $i < $len; $i ++) {
  11. if ($flag == 0) {
  12. if ($array [$i] < $array [$i + 1])
  13. {
  14. continue;
  15. } else {
  16. $flag = 1;
  17. break;
  18. }
  19. }
  20. if ($flag == 1) {
  21. if ($array [$i] > $array [$i + 1]) {
  22. continue;
  23. } else
  24. {
  25. $flag = 0;
  26. break;
  27. }
  28. }
  29. }
  30. if ($flag != $temp) {
  31. echo "无序数组";
  32. } else {
  33. echo "有序数组";
  34. }
  35. }
  36. // 测试用例
  37. $array = array (
  38. 1,
  39. 2,
  40. 3,
  41. 4,
  42. 6,
  43. 5
  44. );
  45. $ret = JudegSortArray ( $array );
  46. echo $ret;