fork download
  1. <?php
  2. $arr = array("4.0.1", "trunk", "branch", "4.1.0", "4.0.3", "1.2", "1.31", "1.10", "1.4.5");
  3. natsort($arr);
  4. $count = count($arr);
  5. $alpha = array();
  6. $new_arr = array();
  7. for($i = 0; $i < $count; $i++) {
  8. if(!is_numeric(str_replace('.', '', $arr[$i]))) {
  9. $alpha[] = $arr[$i];
  10. } else {
  11. $new_arr[] = $arr[$i];
  12. }
  13. $arr[$i] = null;
  14. }
  15. rsort($new_arr);
  16. sort($alpha);
  17. $new_arr = array_merge($new_arr, $alpha);
  18. var_dump($new_arr);
  19. ?>
Success #stdin #stdout 0.02s 13064KB
stdin
Standard input is empty
stdout
array(9) {
  [0]=>
  string(5) "4.1.0"
  [1]=>
  string(5) "4.0.3"
  [2]=>
  string(5) "4.0.1"
  [3]=>
  string(5) "1.4.5"
  [4]=>
  string(4) "1.31"
  [5]=>
  string(3) "1.2"
  [6]=>
  string(4) "1.10"
  [7]=>
  string(6) "branch"
  [8]=>
  string(5) "trunk"
}