3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foo extends \ArrayIterator { } $fooReflection = new \ReflectionClass(\Foo::class); $recursiveArrayIteratorReflection = new \ReflectionClass(\RecursiveArrayIterator::class); printf("%d constants in %s, ", count($fooReflection->getConstants()), \Foo::class); if ($fooReflection->getParentClass()) { printf("%s extends %s\n", Foo::class, $fooReflection->getParentClass()->getName()); } printf("%d constants in %s, ", count($recursiveArrayIteratorReflection->getConstants()), \RecursiveArrayIterator::class); if ($recursiveArrayIteratorReflection->getParentClass()) { printf("%s extends %s\n", \RecursiveArrayIterator::class, $recursiveArrayIteratorReflection->getParentClass()->getName()); } printf("%d constants in %s\n", count((new \ReflectionClass(\ArrayIterator::class))->getConstants()), \ArrayIterator::class);
Output for 7.1.20 - 7.1.25, 7.2.2 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
2 constants in Foo, Foo extends ArrayIterator 3 constants in RecursiveArrayIterator, RecursiveArrayIterator extends ArrayIterator 2 constants in ArrayIterator
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 2 constants in Foo, Foo extends ArrayIterator 3 constants in RecursiveArrayIterator, RecursiveArrayIterator extends ArrayIterator 2 constants in ArrayIterator
Output for 7.0.0 - 7.0.26, 7.1.0 - 7.1.12, 7.2.0 - 7.2.1
2 constants in Foo, Foo extends ArrayIterator 1 constants in RecursiveArrayIterator, RecursiveArrayIterator extends ArrayIterator 2 constants in ArrayIterator

preferences:
143.94 ms | 402 KiB | 198 Q