3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php declare(strict_types=1); function sum_int(int $a, int $b) : int { return $a + $b; } function sum_float(float $a, float $b) : float { return $a + $b; } function substract_int(int $a, int $b) : int { return $a - $b; } function substract_float(float $a, float $b) : float { return $a - $b; } function multiply_int(int $a, int $b) : int { return $a * $b; } function multiply_float(float $a, float $b) : float { return $a * $b; } function divide_int(int $a, int $b) : int { return $b == 0 ? $a : $a / $b; } function divide_float(float $a, float $b) : float { return $b == 0 ? $a : $a / $b; } echo "La somme de 9 + 14 = " . sum_int(9, 14) . "\r\n"; echo "La somme de 1.895 + 8.105 = " . sum_int(1.895, 8.105) . "\r\n"; echo "La soustraction de 9 - 14 = " . substract_int(9, 14) . "\r\n"; echo "La soustraction de 1.895 - 8.105 = " . substract_int(1.895, 8.105) . "\r\n"; echo "La multiplication de 9 * 14 = " . multiply_int(9, 14) . "\r\n"; echo "La multiplication de 1.895 * 8.105 = " . multiply_int(1.895, 8.105) . "\r\n"; echo "La division de 9 / 14 = " . divide_int(9, 0) . "\r\n"; echo "La division de 1.895 / 8.105 = " . divide_int(1.895, 0) . "\r\n";
based on bv2AC
Output for 7.0.0 - 7.2.0
La somme de 9 + 14 = 23 Fatal error: Uncaught TypeError: Argument 1 passed to sum_int() must be of the type integer, float given, called in /in/mYiNa on line 31 and defined in /in/mYiNa:5 Stack trace: #0 /in/mYiNa(31): sum_int(1.895, 8.105) #1 {main} thrown in /in/mYiNa on line 5
Process exited with code 255.
Output for 5.3.18 - 5.6.28
Warning: Unsupported declare 'strict_types' in /in/mYiNa on line 3 Parse error: syntax error, unexpected ':', expecting '{' in /in/mYiNa on line 5
Process exited with code 255.