3v4l.org

run code in 500+ PHP versions simultaneously
<?php function createAnonymousClass() { // This value goes away by the time the class would be instantiated a second time $value = []; $class = get_class(new class() { function foo() { // var_dump($^value); } }); unset($value); // $value is gone now return $class; } $class = createAnonymousClass(); var_dump(new $class); // Can't possibly hold a reference to $value var_dump(createAnonymousClass() === createAnonymousClass());
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
object(class@anonymous)#1 (0) { } bool(true)

preferences:
91.45 ms | 1105 KiB | 4 Q