3v4l.org

run code in 300+ PHP versions simultaneously
<?php $gmp = gmp_init('42'); var_dump($gmp); var_dump($gmp instanceof Stringable); var_dump(in_array('__toString', array_column((new ReflectionObject($gmp))->getMethods(), 'name'), true)); echo "\n"; var_dump((string)$gmp); var_dump(''.$gmp); (function (string $x) { var_dump($x); })($gmp); echo "\n"; var_dump((int)$gmp); var_dump(+$gmp); (function (int $x) { var_dump($x); })($gmp);
Output for 8.5.1 - 8.5.3
Fatal error: Uncaught Error: Call to undefined function gmp_init() in /in/cRnnW:3 Stack trace: #0 {main} thrown in /in/cRnnW on line 3
Process exited with code 255.
Output for 8.4.1 - 8.4.18, 8.5.0
object(GMP)#1 (1) { ["num"]=> string(2) "42" } bool(false) bool(false) string(2) "42" string(2) "42" string(2) "42" int(42) object(GMP)#5 (1) { ["num"]=> string(2) "42" } Fatal error: Uncaught TypeError: {closure:/in/cRnnW:14}(): Argument #1 ($x) must be of type int, GMP given, called in /in/cRnnW on line 14 and defined in /in/cRnnW:14 Stack trace: #0 /in/cRnnW(14): {closure:/in/cRnnW:14}(Object(GMP)) #1 {main} thrown in /in/cRnnW on line 14
Process exited with code 255.
Output for 8.2.10 - 8.2.30, 8.3.0 - 8.3.30
object(GMP)#1 (1) { ["num"]=> string(2) "42" } bool(false) bool(false) string(2) "42" string(2) "42" string(2) "42" int(42) object(GMP)#5 (1) { ["num"]=> string(2) "42" } Fatal error: Uncaught TypeError: {closure}(): Argument #1 ($x) must be of type int, GMP given, called in /in/cRnnW on line 14 and defined in /in/cRnnW:14 Stack trace: #0 /in/cRnnW(14): {closure}(Object(GMP)) #1 {main} thrown in /in/cRnnW on line 14
Process exited with code 255.
Output for 8.1.7 - 8.1.34
object(GMP)#1 (1) { ["num"]=> string(2) "42" } bool(false) bool(false) string(2) "42" string(2) "42" string(2) "42" int(42) object(GMP)#4 (1) { ["num"]=> string(2) "42" } Fatal error: Uncaught TypeError: {closure}(): Argument #1 ($x) must be of type int, GMP given, called in /in/cRnnW on line 14 and defined in /in/cRnnW:14 Stack trace: #0 /in/cRnnW(14): {closure}(Object(GMP)) #1 {main} thrown in /in/cRnnW on line 14
Process exited with code 255.

preferences:
80.92 ms | 884 KiB | 4 Q