3v4l.org

run code in 300+ PHP versions simultaneously
<?php $whole = floor ( $float ); $decimal = $float - $whole; $leastCommonDenom = 48; // 16 * 3; $denominators = array (2, 3, 4, 8, 16, 24, 48 ); $roundedDecimal = round ( $decimal * $leastCommonDenom ) / $leastCommonDenom; if ($roundedDecimal == 0) return $whole; if ($roundedDecimal == 1) return $whole + 1; foreach ( $denominators as $d ) { if ($roundedDecimal * $d == floor ( $roundedDecimal * $d )) { $denom = $d; break; } } return ($whole == 0 ? '' : $whole) . " " . ($roundedDecimal * $denom) . "/" . $denom; //echo toFraction( -0.5) . "\n" . toFraction( 1.5);
Output for 8.0.0alpha1 - beta3
Warning: Undefined variable $float in /in/pnsXd on line 2 Warning: Undefined variable $float in /in/pnsXd on line 3
Output for 5.0.4 - 5.0.5, 5.1.1 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.25, 7.2.0 - 7.2.33, 7.3.0 - 7.3.21, 7.4.0 - 7.4.10
Notice: Undefined variable: float in /in/pnsXd on line 2 Notice: Undefined variable: float in /in/pnsXd on line 3
Output for 5.1.0
Fatal error: fatal flex scanner internal error--end of buffer missed in /in/pnsXd on line 20
Process exited with code 255.
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.3
Notice: Undefined variable: float in /in/pnsXd on line 2 Notice: Undefined variable: float in /in/pnsXd on line 3