3v4l.org

run code in 500+ PHP versions simultaneously
<?php class MyClass { protected Closure $modifier; public function __construct(callable $modifier) { $this->modifier = Closure::fromCallable($modifier); } public function runClosure() { var_dump(($this->modifier)()); } } class SomeOtherClass { public static function func() { return ['a' => 'b']; } } $test = new MyClass(SomeOtherClass::func(...)); $test->runClosure();
Output for 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
array(1) { ["a"]=> string(1) "b" }

preferences:
59.48 ms | 975 KiB | 4 Q