3v4l.org

run code in 300+ PHP versions simultaneously
<?php $baz = new StdClass; $baz->{"1"} = true; $baz->{"2"} = true; var_export((array)$baz); echo "\n"; var_export(key_exists((string)'1', $baz)); echo "\n"; $foo = (array)$baz; echo $foo["1"];
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.28, 8.4.1 - 8.4.14, 8.5.0 - 8.5.1
array ( 1 => true, 2 => true, ) Fatal error: Uncaught TypeError: key_exists(): Argument #2 ($array) must be of type array, stdClass given in /in/pJ8IO:8 Stack trace: #0 /in/pJ8IO(8): key_exists('1', Object(stdClass)) #1 {main} thrown in /in/pJ8IO on line 8
Process exited with code 255.
Output for 8.4.15
/bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15)
Process exited with code 1.
Output for 7.4.0 - 7.4.33
array ( 1 => true, 2 => true, ) Deprecated: key_exists(): Using array_key_exists() on objects is deprecated. Use isset() or property_exists() instead in /in/pJ8IO on line 8 false 1
Output for 7.2.0 - 7.2.33, 7.3.16 - 7.3.33
array ( 1 => true, 2 => true, ) false 1
Output for 5.4.0 - 5.4.45, 5.5.0 - 5.5.35, 5.6.0 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.20
array ( '1' => true, '2' => true, ) false Notice: Undefined offset: 1 in /in/pJ8IO on line 11
Output for 5.3.0 - 5.3.29
array ( '1' => true, '2' => true, ) false Notice: Undefined index: 1 in /in/pJ8IO on line 11
Output for 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17
array ( '1' => true, '2' => true, ) false Notice: Undefined index: 1 in /in/pJ8IO on line 11
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9
array ( 1 => true, 2 => true, ) true 1

preferences:
224.42 ms | 416 KiB | 5 Q