<?php

function getLevel($base, $root = 3.0) {
    $exact = pow($base, 1.0 / $root);
    $ceil  = ceil($exact);
    $floor = floor($exact);
    
    if (pow($exact, $root) == $base) { return $exact; }
    if (pow($ceil,  $root) == $base) { return $ceil;  }
    if (pow($floor, $root) == $base) { return $floor; }
    
    // No integer root
    return FALSE;
}

var_dump(getLevel(10648, 3)); // 22^3
var_dump(getLevel(16807, 5)); //  7^5

var_dump(getLevel(1,  3)); // Should always return 1
var_dump(getLevel(1, 99)); // Should always return 1

var_dump(getLevel(7)); // Has no integer 3rd root
