fork download
  1. <?php
  2. $yourArray=array("4.0.1","trunk","branch","4.1.0","4.0.3");
  3.  
  4. function isVersion($a) { return is_numeric( str_replace('.', '', $a) ); };
  5. function sortFunction($a, $b) {
  6. if( isVersion($a) && isVersion($b) ) {
  7. return version_compare($b, $a); // reversed for your proper ordering
  8. } elseif( isVersion($a) ) {
  9. return -1;
  10. } elseif( isVersion($b) ) {
  11. return 1;
  12. } else {
  13. return strcasecmp($a, $b);
  14. }
  15. };
  16.  
  17. usort($yourArray, 'sortFunction');
  18.  
  19. var_dump($yourArray);
  20. ?>
Success #stdin #stdout 0.02s 13112KB
stdin
Standard input is empty
stdout
array(5) {
  [0]=>
  string(5) "4.1.0"
  [1]=>
  string(5) "4.0.3"
  [2]=>
  string(5) "4.0.1"
  [3]=>
  string(6) "branch"
  [4]=>
  string(5) "trunk"
}