<?php

$arr = array(10,'Foo', 'Abc', 5, 3.2, 'Test','Jonathan');
usort($arr, function($a, $b) {
  if (is_int($a) || is_float($a)) {
    if (is_int($b) || is_float($b)) {
      return $a - $b; 
    }
    else 
      return -1;
  }
  elseif (is_int($b) || is_float($b)) {
    return 1;
  }
  else {
    return strcmp($a, $b);
  }
});
print_r($arr);