3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php print_r(spl_classes());

Shows result from various feature-branches currently under review from the php developers. Contact me to have additional branches featured.

Output for Typed properties v2
Array ( [AppendIterator] => AppendIterator [ArrayIterator] => ArrayIterator [ArrayObject] => ArrayObject [BadFunctionCallException] => BadFunctionCallException [BadMethodCallException] => BadMethodCallException [CachingIterator] => CachingIterator [CallbackFilterIterator] => CallbackFilterIterator [DirectoryIterator] => DirectoryIterator [DomainException] => DomainException [EmptyIterator] => EmptyIterator [FilesystemIterator] => FilesystemIterator [FilterIterator] => FilterIterator [GlobIterator] => GlobIterator [InfiniteIterator] => InfiniteIterator [InvalidArgumentException] => InvalidArgumentException [IteratorIterator] => IteratorIterator [LengthException] => LengthException [LimitIterator] => LimitIterator [LogicException] => LogicException [MultipleIterator] => MultipleIterator [NoRewindIterator] => NoRewindIterator [OuterIterator] => OuterIterator [OutOfBoundsException] => OutOfBoundsException [OutOfRangeException] => OutOfRangeException [OverflowException] => OverflowException [ParentIterator] => ParentIterator [RangeException] => RangeException [RecursiveArrayIterator] => RecursiveArrayIterator [RecursiveCachingIterator] => RecursiveCachingIterator [RecursiveCallbackFilterIterator] => RecursiveCallbackFilterIterator [RecursiveDirectoryIterator] => RecursiveDirectoryIterator [RecursiveFilterIterator] => RecursiveFilterIterator [RecursiveIterator] => RecursiveIterator [RecursiveIteratorIterator] => RecursiveIteratorIterator [RecursiveRegexIterator] => RecursiveRegexIterator [RecursiveTreeIterator] => RecursiveTreeIterator [RegexIterator] => RegexIterator [RuntimeException] => RuntimeException [SeekableIterator] => SeekableIterator [SplDoublyLinkedList] => SplDoublyLinkedList [SplFileInfo] => SplFileInfo [SplFileObject] => SplFileObject [SplFixedArray] => SplFixedArray [SplHeap] => SplHeap [SplMinHeap] => SplMinHeap [SplMaxHeap] => SplMaxHeap [SplObjectStorage] => SplObjectStorage [SplObserver] => SplObserver [SplPriorityQueue] => SplPriorityQueue [SplQueue] => SplQueue [SplStack] => SplStack [SplSubject] => SplSubject [SplTempFileObject] => SplTempFileObject [UnderflowException] => UnderflowException [UnexpectedValueException] => UnexpectedValueException )
Output for Arrow functions
Array ( [AppendIterator] => AppendIterator [ArrayIterator] => ArrayIterator [ArrayObject] => ArrayObject [BadFunctionCallException] => BadFunctionCallException [BadMethodCallException] => BadMethodCallException [CachingIterator] => CachingIterator [CallbackFilterIterator] => CallbackFilterIterator [Countable] => Countable [DirectoryIterator] => DirectoryIterator [DomainException] => DomainException [EmptyIterator] => EmptyIterator [FilesystemIterator] => FilesystemIterator [FilterIterator] => FilterIterator [GlobIterator] => GlobIterator [InfiniteIterator] => InfiniteIterator [InvalidArgumentException] => InvalidArgumentException [IteratorIterator] => IteratorIterator [LengthException] => LengthException [LimitIterator] => LimitIterator [LogicException] => LogicException [MultipleIterator] => MultipleIterator [NoRewindIterator] => NoRewindIterator [OuterIterator] => OuterIterator [OutOfBoundsException] => OutOfBoundsException [OutOfRangeException] => OutOfRangeException [OverflowException] => OverflowException [ParentIterator] => ParentIterator [RangeException] => RangeException [RecursiveArrayIterator] => RecursiveArrayIterator [RecursiveCachingIterator] => RecursiveCachingIterator [RecursiveCallbackFilterIterator] => RecursiveCallbackFilterIterator [RecursiveDirectoryIterator] => RecursiveDirectoryIterator [RecursiveFilterIterator] => RecursiveFilterIterator [RecursiveIterator] => RecursiveIterator [RecursiveIteratorIterator] => RecursiveIteratorIterator [RecursiveRegexIterator] => RecursiveRegexIterator [RecursiveTreeIterator] => RecursiveTreeIterator [RegexIterator] => RegexIterator [RuntimeException] => RuntimeException [SeekableIterator] => SeekableIterator [SplDoublyLinkedList] => SplDoublyLinkedList [SplFileInfo] => SplFileInfo [SplFileObject] => SplFileObject [SplFixedArray] => SplFixedArray [SplHeap] => SplHeap [SplMinHeap] => SplMinHeap [SplMaxHeap] => SplMaxHeap [SplObjectStorage] => SplObjectStorage [SplObserver] => SplObserver [SplPriorityQueue] => SplPriorityQueue [SplQueue] => SplQueue [SplStack] => SplStack [SplSubject] => SplSubject [SplTempFileObject] => SplTempFileObject [UnderflowException] => UnderflowException [UnexpectedValueException] => UnexpectedValueException )
Output for Object typehint
Array ( [AppendIterator] => AppendIterator [ArrayIterator] => ArrayIterator [ArrayObject] => ArrayObject [BadFunctionCallException] => BadFunctionCallException [BadMethodCallException] => BadMethodCallException [CachingIterator] => CachingIterator [CallbackFilterIterator] => CallbackFilterIterator [Countable] => Countable [DirectoryIterator] => DirectoryIterator [DomainException] => DomainException [EmptyIterator] => EmptyIterator [FilesystemIterator] => FilesystemIterator [FilterIterator] => FilterIterator [GlobIterator] => GlobIterator [InfiniteIterator] => InfiniteIterator [InvalidArgumentException] => InvalidArgumentException [IteratorIterator] => IteratorIterator [LengthException] => LengthException [LimitIterator] => LimitIterator [LogicException] => LogicException [MultipleIterator] => MultipleIterator [NoRewindIterator] => NoRewindIterator [OuterIterator] => OuterIterator [OutOfBoundsException] => OutOfBoundsException [OutOfRangeException] => OutOfRangeException [OverflowException] => OverflowException [ParentIterator] => ParentIterator [RangeException] => RangeException [RecursiveArrayIterator] => RecursiveArrayIterator [RecursiveCachingIterator] => RecursiveCachingIterator [RecursiveCallbackFilterIterator] => RecursiveCallbackFilterIterator [RecursiveDirectoryIterator] => RecursiveDirectoryIterator [RecursiveFilterIterator] => RecursiveFilterIterator [RecursiveIterator] => RecursiveIterator [RecursiveIteratorIterator] => RecursiveIteratorIterator [RecursiveRegexIterator] => RecursiveRegexIterator [RecursiveTreeIterator] => RecursiveTreeIterator [RegexIterator] => RegexIterator [RuntimeException] => RuntimeException [SeekableIterator] => SeekableIterator [SplDoublyLinkedList] => SplDoublyLinkedList [SplFileInfo] => SplFileInfo [SplFileObject] => SplFileObject [SplFixedArray] => SplFixedArray [SplHeap] => SplHeap [SplMinHeap] => SplMinHeap [SplMaxHeap] => SplMaxHeap [SplObjectStorage] => SplObjectStorage [SplObserver] => SplObserver [SplPriorityQueue] => SplPriorityQueue [SplQueue] => SplQueue [SplStack] => SplStack [SplSubject] => SplSubject [SplTempFileObject] => SplTempFileObject [UnderflowException] => UnderflowException [UnexpectedValueException] => UnexpectedValueException )
Output for Array change keys
Array ( [AppendIterator] => AppendIterator [ArrayIterator] => ArrayIterator [ArrayObject] => ArrayObject [BadFunctionCallException] => BadFunctionCallException [BadMethodCallException] => BadMethodCallException [CachingIterator] => CachingIterator [CallbackFilterIterator] => CallbackFilterIterator [Countable] => Countable [DirectoryIterator] => DirectoryIterator [DomainException] => DomainException [EmptyIterator] => EmptyIterator [FilesystemIterator] => FilesystemIterator [FilterIterator] => FilterIterator [GlobIterator] => GlobIterator [InfiniteIterator] => InfiniteIterator [InvalidArgumentException] => InvalidArgumentException [IteratorIterator] => IteratorIterator [LengthException] => LengthException [LimitIterator] => LimitIterator [LogicException] => LogicException [MultipleIterator] => MultipleIterator [NoRewindIterator] => NoRewindIterator [OuterIterator] => OuterIterator [OutOfBoundsException] => OutOfBoundsException [OutOfRangeException] => OutOfRangeException [OverflowException] => OverflowException [ParentIterator] => ParentIterator [RangeException] => RangeException [RecursiveArrayIterator] => RecursiveArrayIterator [RecursiveCachingIterator] => RecursiveCachingIterator [RecursiveCallbackFilterIterator] => RecursiveCallbackFilterIterator [RecursiveDirectoryIterator] => RecursiveDirectoryIterator [RecursiveFilterIterator] => RecursiveFilterIterator [RecursiveIterator] => RecursiveIterator [RecursiveIteratorIterator] => RecursiveIteratorIterator [RecursiveRegexIterator] => RecursiveRegexIterator [RecursiveTreeIterator] => RecursiveTreeIterator [RegexIterator] => RegexIterator [RuntimeException] => RuntimeException [SeekableIterator] => SeekableIterator [SplDoublyLinkedList] => SplDoublyLinkedList [SplFileInfo] => SplFileInfo [SplFileObject] => SplFileObject [SplFixedArray] => SplFixedArray [SplHeap] => SplHeap [SplMinHeap] => SplMinHeap [SplMaxHeap] => SplMaxHeap [SplObjectStorage] => SplObjectStorage [SplObserver] => SplObserver [SplPriorityQueue] => SplPriorityQueue [SplQueue] => SplQueue [SplStack] => SplStack [SplSubject] => SplSubject [SplTempFileObject] => SplTempFileObject [UnderflowException] => UnderflowException [UnexpectedValueException] => UnexpectedValueException )
Output for Lexical anon
Array ( [AppendIterator] => AppendIterator [ArrayIterator] => ArrayIterator [ArrayObject] => ArrayObject [BadFunctionCallException] => BadFunctionCallException [BadMethodCallException] => BadMethodCallException [CachingIterator] => CachingIterator [CallbackFilterIterator] => CallbackFilterIterator [Countable] => Countable [DirectoryIterator] => DirectoryIterator [DomainException] => DomainException [EmptyIterator] => EmptyIterator [FilesystemIterator] => FilesystemIterator [FilterIterator] => FilterIterator [GlobIterator] => GlobIterator [InfiniteIterator] => InfiniteIterator [InvalidArgumentException] => InvalidArgumentException [IteratorIterator] => IteratorIterator [LengthException] => LengthException [LimitIterator] => LimitIterator [LogicException] => LogicException [MultipleIterator] => MultipleIterator [NoRewindIterator] => NoRewindIterator [OuterIterator] => OuterIterator [OutOfBoundsException] => OutOfBoundsException [OutOfRangeException] => OutOfRangeException [OverflowException] => OverflowException [ParentIterator] => ParentIterator [RangeException] => RangeException [RecursiveArrayIterator] => RecursiveArrayIterator [RecursiveCachingIterator] => RecursiveCachingIterator [RecursiveCallbackFilterIterator] => RecursiveCallbackFilterIterator [RecursiveDirectoryIterator] => RecursiveDirectoryIterator [RecursiveFilterIterator] => RecursiveFilterIterator [RecursiveIterator] => RecursiveIterator [RecursiveIteratorIterator] => RecursiveIteratorIterator [RecursiveRegexIterator] => RecursiveRegexIterator [RecursiveTreeIterator] => RecursiveTreeIterator [RegexIterator] => RegexIterator [RuntimeException] => RuntimeException [SeekableIterator] => SeekableIterator [SplDoublyLinkedList] => SplDoublyLinkedList [SplFileInfo] => SplFileInfo [SplFileObject] => SplFileObject [SplFixedArray] => SplFixedArray [SplHeap] => SplHeap [SplMinHeap] => SplMinHeap [SplMaxHeap] => SplMaxHeap [SplObjectStorage] => SplObjectStorage [SplObserver] => SplObserver [SplPriorityQueue] => SplPriorityQueue [SplQueue] => SplQueue [SplStack] => SplStack [SplSubject] => SplSubject [SplTempFileObject] => SplTempFileObject [UnderflowException] => UnderflowException [UnexpectedValueException] => UnexpectedValueException )

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