3v4l.org

run code in 300+ PHP versions simultaneously
<?php $foo = new ArrayIterator(get_declared_classes()); $bar = new CachingIterator($foo); foreach($bar as $class) { echo $class . ' - ' . $bar->getInnerIterator()->current() . PHP_EOL; }
Output for git.master, git.master_jit
InternalIterator - Exception Exception - ErrorException ErrorException - Error Error - CompileError CompileError - ParseError ParseError - TypeError TypeError - ArgumentCountError ArgumentCountError - ValueError ValueError - ArithmeticError ArithmeticError - DivisionByZeroError DivisionByZeroError - UnhandledMatchError UnhandledMatchError - Closure Closure - Generator Generator - ClosedGeneratorException ClosedGeneratorException - WeakReference WeakReference - WeakMap WeakMap - Attribute Attribute - ReturnTypeWillChange ReturnTypeWillChange - AllowDynamicProperties AllowDynamicProperties - SensitiveParameter SensitiveParameter - SensitiveParameterValue SensitiveParameterValue - Fiber Fiber - FiberError FiberError - stdClass stdClass - DateTime DateTime - DateTimeImmutable DateTimeImmutable - DateTimeZone DateTimeZone - DateInterval DateInterval - DatePeriod DatePeriod - LibXMLError LibXMLError - SQLite3 SQLite3 - SQLite3Stmt SQLite3Stmt - SQLite3Result SQLite3Result - InflateContext InflateContext - DeflateContext DeflateContext - DOMException DOMException - DOMImplementation DOMImplementation - DOMNode DOMNode - DOMNameSpaceNode DOMNameSpaceNode - DOMDocumentFragment DOMDocumentFragment - DOMDocument DOMDocument - DOMNodeList DOMNodeList - DOMNamedNodeMap DOMNamedNodeMap - DOMCharacterData DOMCharacterData - DOMAttr DOMAttr - DOMElement DOMElement - DOMText DOMText - DOMComment DOMComment - DOMCdataSection DOMCdataSection - DOMDocumentType DOMDocumentType - DOMNotation DOMNotation - DOMEntity DOMEntity - DOMEntityReference DOMEntityReference - DOMProcessingInstruction DOMProcessingInstruction - DOMXPath DOMXPath - finfo finfo - HashContext HashContext - JsonException JsonException - LogicException LogicException - BadFunctionCallException BadFunctionCallException - BadMethodCallException BadMethodCallException - DomainException DomainException - InvalidArgumentException InvalidArgumentException - LengthException LengthException - OutOfRangeException OutOfRangeException - RuntimeException RuntimeException - OutOfBoundsException OutOfBoundsException - OverflowException OverflowException - RangeException RangeException - UnderflowException UnderflowException - UnexpectedValueException UnexpectedValueException - RecursiveIteratorIterator RecursiveIteratorIterator - IteratorIterator IteratorIterator - FilterIterator FilterIterator - RecursiveFilterIterator RecursiveFilterIterator - CallbackFilterIterator CallbackFilterIterator - RecursiveCallbackFilterIterator RecursiveCallbackFilterIterator - ParentIterator ParentIterator - LimitIterator LimitIterator - CachingIterator CachingIterator - RecursiveCachingIterator RecursiveCachingIterator - NoRewindIterator NoRewindIterator - AppendIterator AppendIterator - InfiniteIterator InfiniteIterator - RegexIterator RegexIterator - RecursiveRegexIterator RecursiveRegexIterator - EmptyIterator EmptyIterator - RecursiveTreeIterator RecursiveTreeIterator - ArrayObject ArrayObject - ArrayIterator ArrayIterator - RecursiveArrayIterator RecursiveArrayIterator - SplFileInfo SplFileInfo - DirectoryIterator DirectoryIterator - FilesystemIterator FilesystemIterator - RecursiveDirectoryIterator RecursiveDirectoryIterator - GlobIterator GlobIterator - SplFileObject SplFileObject - SplTempFileObject SplTempFileObject - SplDoublyLinkedList SplDoublyLinkedList - SplQueue SplQueue - SplStack SplStack - SplHeap SplHeap - SplMinHeap SplMinHeap - SplMaxHeap SplMaxHeap - SplPriorityQueue SplPriorityQueue - SplFixedArray SplFixedArray - SplObjectStorage SplObjectStorage - MultipleIterator MultipleIterator - PDOException PDOException - PDO PDO - PDOStatement PDOStatement - PDORow PDORow - SessionHandler SessionHandler - Random\RandomError Random\RandomError - Random\BrokenRandomEngineError Random\BrokenRandomEngineError - Random\RandomException Random\RandomException - Random\Engine\Mt19937 Random\Engine\Mt19937 - Random\Engine\PcgOneseq128XslRr64 Random\Engine\PcgOneseq128XslRr64 - Random\Engine\Xoshiro256StarStar Random\Engine\Xoshiro256StarStar - Random\Engine\Secure Random\Engine\Secure - Random\Randomizer Random\Randomizer - ReflectionException ReflectionException - Reflection Reflection - ReflectionFunctionAbstract ReflectionFunctionAbstract - ReflectionFunction ReflectionFunction - ReflectionGenerator ReflectionGenerator - ReflectionParameter ReflectionParameter - ReflectionType ReflectionType - ReflectionNamedType ReflectionNamedType - ReflectionUnionType ReflectionUnionType - ReflectionIntersectionType ReflectionIntersectionType - ReflectionMethod ReflectionMethod - ReflectionClass ReflectionClass - ReflectionObject ReflectionObject - ReflectionProperty ReflectionProperty - ReflectionClassConstant ReflectionClassConstant - ReflectionExtension ReflectionExtension - ReflectionZendExtension ReflectionZendExtension - ReflectionReference ReflectionReference - ReflectionAttribute ReflectionAttribute - ReflectionEnum ReflectionEnum - ReflectionEnumUnitCase ReflectionEnumUnitCase - ReflectionEnumBackedCase ReflectionEnumBackedCase - ReflectionFiber ReflectionFiber - __PHP_Incomplete_Class __PHP_Incomplete_Class - AssertionError AssertionError - php_user_filter php_user_filter - Directory Directory - SimpleXMLElement SimpleXMLElement - SimpleXMLIterator SimpleXMLIterator - PharException PharException - Phar Phar - PharData PharData - PharFileInfo PharFileInfo - PhpToken PhpToken - XMLParser XMLParser - XMLReader XMLReader - XMLWriter XMLWriter - GMP GMP - Collator Collator - NumberFormatter NumberFormatter - Normalizer Normalizer - Locale Locale - MessageFormatter MessageFormatter - IntlDateFormatter IntlDateFormatter - IntlDatePatternGenerator IntlDatePatternGenerator - ResourceBundle ResourceBundle - Transliterator Transliterator - IntlTimeZone IntlTimeZone - IntlCalendar IntlCalendar - IntlGregorianCalendar IntlGregorianCalendar - Spoofchecker Spoofchecker - IntlException IntlException - IntlIterator IntlIterator - IntlBreakIterator IntlBreakIterator - IntlRuleBasedBreakIterator IntlRuleBasedBreakIterator - IntlCodePointBreakIterator IntlCodePointBreakIterator - IntlPartsIterator IntlPartsIterator - UConverter UConverter - IntlChar IntlChar -
Output for rfc.property-hooks
InternalIterator - Exception Exception - ErrorException ErrorException - Error Error - CompileError CompileError - ParseError ParseError - TypeError TypeError - ArgumentCountError ArgumentCountError - ValueError ValueError - ArithmeticError ArithmeticError - DivisionByZeroError DivisionByZeroError - UnhandledMatchError UnhandledMatchError - Closure Closure - Generator Generator - ClosedGeneratorException ClosedGeneratorException - WeakReference WeakReference - WeakMap WeakMap - Attribute Attribute - ReturnTypeWillChange ReturnTypeWillChange - AllowDynamicProperties AllowDynamicProperties - SensitiveParameter SensitiveParameter - SensitiveParameterValue SensitiveParameterValue - Fiber Fiber - FiberError FiberError - stdClass stdClass - DateTime DateTime - DateTimeImmutable DateTimeImmutable - DateTimeZone DateTimeZone - DateInterval DateInterval - DatePeriod DatePeriod - DateError DateError - DateObjectError DateObjectError - DateRangeError DateRangeError - DateException DateException - DateInvalidTimeZoneException DateInvalidTimeZoneException - DateInvalidOperationException DateInvalidOperationException - DateMalformedStringException DateMalformedStringException - DateMalformedIntervalStringException DateMalformedIntervalStringException - DateMalformedPeriodStringException DateMalformedPeriodStringException - LibXMLError LibXMLError - SQLite3 SQLite3 - SQLite3Stmt SQLite3Stmt - SQLite3Result SQLite3Result - InflateContext InflateContext - DeflateContext DeflateContext - DOMException DOMException - DOMImplementation DOMImplementation - DOMNode DOMNode - DOMNameSpaceNode DOMNameSpaceNode - DOMDocumentFragment DOMDocumentFragment - DOMDocument DOMDocument - DOMNodeList DOMNodeList - DOMNamedNodeMap DOMNamedNodeMap - DOMCharacterData DOMCharacterData - DOMAttr DOMAttr - DOMElement DOMElement - DOMText DOMText - DOMComment DOMComment - DOMCdataSection DOMCdataSection - DOMDocumentType DOMDocumentType - DOMNotation DOMNotation - DOMEntity DOMEntity - DOMEntityReference DOMEntityReference - DOMProcessingInstruction DOMProcessingInstruction - DOMXPath DOMXPath - finfo finfo - HashContext HashContext - JsonException JsonException - LogicException LogicException - BadFunctionCallException BadFunctionCallException - BadMethodCallException BadMethodCallException - DomainException DomainException - InvalidArgumentException InvalidArgumentException - LengthException LengthException - OutOfRangeException OutOfRangeException - RuntimeException RuntimeException - OutOfBoundsException OutOfBoundsException - OverflowException OverflowException - RangeException RangeException - UnderflowException UnderflowException - UnexpectedValueException UnexpectedValueException - RecursiveIteratorIterator RecursiveIteratorIterator - IteratorIterator IteratorIterator - FilterIterator FilterIterator - RecursiveFilterIterator RecursiveFilterIterator - CallbackFilterIterator CallbackFilterIterator - RecursiveCallbackFilterIterator RecursiveCallbackFilterIterator - ParentIterator ParentIterator - LimitIterator LimitIterator - CachingIterator CachingIterator - RecursiveCachingIterator RecursiveCachingIterator - NoRewindIterator NoRewindIterator - AppendIterator AppendIterator - InfiniteIterator InfiniteIterator - RegexIterator RegexIterator - RecursiveRegexIterator RecursiveRegexIterator - EmptyIterator EmptyIterator - RecursiveTreeIterator RecursiveTreeIterator - ArrayObject ArrayObject - ArrayIterator ArrayIterator - RecursiveArrayIterator RecursiveArrayIterator - SplFileInfo SplFileInfo - DirectoryIterator DirectoryIterator - FilesystemIterator FilesystemIterator - RecursiveDirectoryIterator RecursiveDirectoryIterator - GlobIterator GlobIterator - SplFileObject SplFileObject - SplTempFileObject SplTempFileObject - SplDoublyLinkedList SplDoublyLinkedList - SplQueue SplQueue - SplStack SplStack - SplHeap SplHeap - SplMinHeap SplMinHeap - SplMaxHeap SplMaxHeap - SplPriorityQueue SplPriorityQueue - SplFixedArray SplFixedArray - SplObjectStorage SplObjectStorage - MultipleIterator MultipleIterator - PDOException PDOException - PDO PDO - PDOStatement PDOStatement - PDORow PDORow - SessionHandler SessionHandler - Random\RandomError Random\RandomError - Random\BrokenRandomEngineError Random\BrokenRandomEngineError - Random\RandomException Random\RandomException - Random\Engine\Mt19937 Random\Engine\Mt19937 - Random\Engine\PcgOneseq128XslRr64 Random\Engine\PcgOneseq128XslRr64 - Random\Engine\Xoshiro256StarStar Random\Engine\Xoshiro256StarStar - Random\Engine\Secure Random\Engine\Secure - Random\Randomizer Random\Randomizer - Random\IntervalBoundary Random\IntervalBoundary - ReflectionException ReflectionException - Reflection Reflection - ReflectionFunctionAbstract ReflectionFunctionAbstract - ReflectionFunction ReflectionFunction - ReflectionGenerator ReflectionGenerator - ReflectionParameter ReflectionParameter - ReflectionType ReflectionType - ReflectionNamedType ReflectionNamedType - ReflectionUnionType ReflectionUnionType - ReflectionIntersectionType ReflectionIntersectionType - ReflectionMethod ReflectionMethod - ReflectionClass ReflectionClass - ReflectionObject ReflectionObject - ReflectionProperty ReflectionProperty - ReflectionClassConstant ReflectionClassConstant - ReflectionExtension ReflectionExtension - ReflectionZendExtension ReflectionZendExtension - ReflectionReference ReflectionReference - ReflectionAttribute ReflectionAttribute - ReflectionEnum ReflectionEnum - ReflectionEnumUnitCase ReflectionEnumUnitCase - ReflectionEnumBackedCase ReflectionEnumBackedCase - ReflectionFiber ReflectionFiber - __PHP_Incomplete_Class __PHP_Incomplete_Class - AssertionError AssertionError - php_user_filter php_user_filter - Directory Directory - SimpleXMLElement SimpleXMLElement - SimpleXMLIterator SimpleXMLIterator - PharException PharException - Phar Phar - PharData PharData - PharFileInfo PharFileInfo - PhpToken PhpToken - XMLParser XMLParser - XMLReader XMLReader - XMLWriter XMLWriter - GMP GMP - Collator Collator - NumberFormatter NumberFormatter - Normalizer Normalizer - Locale Locale - MessageFormatter MessageFormatter - IntlDateFormatter IntlDateFormatter - IntlDatePatternGenerator IntlDatePatternGenerator - ResourceBundle ResourceBundle - Transliterator Transliterator - IntlTimeZone IntlTimeZone - IntlCalendar IntlCalendar - IntlGregorianCalendar IntlGregorianCalendar - Spoofchecker Spoofchecker - IntlException IntlException - IntlIterator IntlIterator - IntlBreakIterator IntlBreakIterator - IntlRuleBasedBreakIterator IntlRuleBasedBreakIterator - IntlCodePointBreakIterator IntlCodePointBreakIterator - IntlPartsIterator IntlPartsIterator - UConverter UConverter - IntlChar IntlChar -

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
51.12 ms | 417 KiB | 8 Q