Умное определение типа переменной
А в чем сложность то?)
function smartType($var)
{
    $type = gettype($var);
    if ($type === 'string') {
        if ((string)intval($var) === $var) {
            return 'integer';
        } elseif ((string)floatval($var) === $var) {
            return 'double';
        } else {
            return 'string';
        }
    }

    return $type;
}

PS через регулярки такую задачу решать конечно оригинально)
Пишите свою функцию. Если подобные велосипеды преследуют вас по всему проекту, то можно было бы использовать ЯП со статической типизацией, но здесь на ум приходит только всякий энтерпрайз с жавами и сишарпами.