3v4l.org

run code in 300+ PHP versions simultaneously
<?php function makeClass($outer) { return eval( sprintf( 'return new class { public $inner = %s; };', var_export($outer, true) ) ); } var_dump(makeClass(42)); var_dump(makeClass(['Hello', 'World']));
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
object(class@anonymous)#1 (1) { ["inner"]=> int(42) } object(class@anonymous)#1 (1) { ["inner"]=> array(2) { [0]=> string(5) "Hello" [1]=> string(5) "World" } }

preferences:
115.08 ms | 402 KiB | 89 Q