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.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
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:
124.87 ms | 408 KiB | 5 Q