3v4l.org

run code in 300+ PHP versions simultaneously
<?php /** @return class-string */ function getClassName(object $class): string { return $class::class; }; /** @param list $data */ function fromArrays(array $data, object $object): mixed { $className = getClassName($object); $callback = [$className, 'from']; if (!is_callable($callback)) { throw new RuntimeException('bad callable'); } return forward_static_call_array($callback, $data); } class A { public static function from() { var_dump(__METHOD__); } } fromArrays([], new A);
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
string(7) "A::from"

preferences:
64.51 ms | 986 KiB | 4 Q