static function romanNumeral( $num ) {
		static $table = array(
			array( '', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X' ),
			array( '', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC', 'C' ),
			array( '', 'C', 'CC', 'CCC', 'CD', 'D', 'DC', 'DCC', 'DCCC', 'CM', 'M' ),
			array( '', 'M', 'MM', 'MMM' )
		);

		$num = intval( $num );
		if ( $num > 3000 || $num <= 0 ) {
			return $num;
		}

		$s = '';
		for ( $pow10 = 1000, $i = 3; $i >= 0; $pow10 /= 10, $i-- ) {
			if ( $num >= $pow10 ) {
				$s .= $table[$i][floor( $num / $pow10 )];
			}
			$num = $num % $pow10;
		}
		return $s;
	}
static function romanNumeral( $num ) {
		static $table = array(
			array( '', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X' ),
			array( '', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC', 'C' ),
			array( '', 'C', 'CC', 'CCC', 'CD', 'D', 'DC', 'DCC', 'DCCC', 'CM', 'M' ),
			array( '', 'M', 'MM', 'MMM' )
		);

		$num = intval( $num );
		if ( $num > 3000 || $num <= 0 ) {
			return $num;
		}

		$s = '';
		for ( $pow10 = 1000, $i = 3; $i >= 0; $pow10 /= 10, $i-- ) {
			if ( $num >= $pow10 ) {
				$s .= $table[$i][floor( $num / $pow10 )];
			}
			$num = $num % $pow10;
		}
		return $s;
	}
static function romanNumeral ( $ num ) { static $ table = array ( array ( '' , 'I' , 'II' , 'III' , 'IV' , 'V' , 'VI' , 'VII' , 'VIII' , 'IX' , 'X' ) , array ( '' , 'X' , 'XX' , 'XXX' , 'XL' , 'L' , 'LX' , 'LXX' , 'LXXX' , 'XC' , 'C' ) , array ( '' , 'C' , 'CC' , 'CCC' , 'CD' , 'D' , 'DC' , 'DCC' , 'DCCC' , 'CM' , 'M' ) , array ( '' , 'M' , 'MM' , 'MMM' ) ) ; $ num = intval ( $ num ) ; if ( $ num > 3000 || $ num <= 0 ) { return $ num ; } $ s = '' ; for ( $ pow10 = 1000 , $ i = 3 ; $ i >= 0 ; $ pow10 /= 10 , $ i -- ) { if ( $ num >= $ pow10 ) { $ s .= $ table [ $ i ] [ floor ( $ num / $ pow10 ) ] ; } $ num = $ num % $ pow10 ; } return $ s ; }
Roman number formatting up to 3000

@param $num int

@return string
Roman number formatting up to 3000