(1), // base unit 'rad' => (180 / M_PI), // 1rad = (180/pi)deg 'grad' => (9 / 10), // 10grad = 9deg 'turn' => (360), // 1turn = 360deg ); $value = floatval($matches[1]); $unit = empty($matches[2]) ? 'deg' : $matches[2]; return $value * $factors[$unit]; } }