3v4l.org

run code in 300+ PHP versions simultaneously
<?php var_dump( array_filter( get_declared_classes(), function ($className) { return (new \ReflectionClass($className))->hasMethod('__toString'); } ) );
Output for git.master, git.master_jit
array(69) { [1]=> string(9) "Exception" [2]=> string(14) "ErrorException" [3]=> string(5) "Error" [4]=> string(12) "CompileError" [5]=> string(10) "ParseError" [6]=> string(9) "TypeError" [7]=> string(18) "ArgumentCountError" [8]=> string(10) "ValueError" [9]=> string(15) "ArithmeticError" [10]=> string(19) "DivisionByZeroError" [11]=> string(19) "UnhandledMatchError" [14]=> string(24) "ClosedGeneratorException" [23]=> string(10) "FiberError" [36]=> string(12) "DOMException" [58]=> string(13) "JsonException" [59]=> string(14) "LogicException" [60]=> string(24) "BadFunctionCallException" [61]=> string(22) "BadMethodCallException" [62]=> string(15) "DomainException" [63]=> string(24) "InvalidArgumentException" [64]=> string(15) "LengthException" [65]=> string(19) "OutOfRangeException" [66]=> string(16) "RuntimeException" [67]=> string(20) "OutOfBoundsException" [68]=> string(17) "OverflowException" [69]=> string(14) "RangeException" [70]=> string(18) "UnderflowException" [71]=> string(24) "UnexpectedValueException" [80]=> string(15) "CachingIterator" [81]=> string(24) "RecursiveCachingIterator" [92]=> string(11) "SplFileInfo" [93]=> string(17) "DirectoryIterator" [94]=> string(18) "FilesystemIterator" [95]=> string(26) "RecursiveDirectoryIterator" [96]=> string(12) "GlobIterator" [97]=> string(13) "SplFileObject" [98]=> string(17) "SplTempFileObject" [109]=> string(12) "PDOException" [114]=> string(18) "Random\RandomError" [115]=> string(30) "Random\BrokenRandomEngineError" [116]=> string(22) "Random\RandomException" [122]=> string(19) "ReflectionException" [124]=> string(26) "ReflectionFunctionAbstract" [125]=> string(18) "ReflectionFunction" [127]=> string(19) "ReflectionParameter" [128]=> string(14) "ReflectionType" [129]=> string(19) "ReflectionNamedType" [130]=> string(19) "ReflectionUnionType" [131]=> string(26) "ReflectionIntersectionType" [132]=> string(16) "ReflectionMethod" [133]=> string(15) "ReflectionClass" [134]=> string(16) "ReflectionObject" [135]=> string(18) "ReflectionProperty" [136]=> string(23) "ReflectionClassConstant" [137]=> string(19) "ReflectionExtension" [138]=> string(23) "ReflectionZendExtension" [140]=> string(19) "ReflectionAttribute" [141]=> string(14) "ReflectionEnum" [142]=> string(22) "ReflectionEnumUnitCase" [143]=> string(24) "ReflectionEnumBackedCase" [146]=> string(14) "AssertionError" [149]=> string(16) "SimpleXMLElement" [150]=> string(17) "SimpleXMLIterator" [151]=> string(13) "PharException" [152]=> string(4) "Phar" [153]=> string(8) "PharData" [154]=> string(12) "PharFileInfo" [155]=> string(8) "PhpToken" [173]=> string(13) "IntlException" }
Output for rfc.property-hooks
array(78) { [1]=> string(9) "Exception" [2]=> string(14) "ErrorException" [3]=> string(5) "Error" [4]=> string(12) "CompileError" [5]=> string(10) "ParseError" [6]=> string(9) "TypeError" [7]=> string(18) "ArgumentCountError" [8]=> string(10) "ValueError" [9]=> string(15) "ArithmeticError" [10]=> string(19) "DivisionByZeroError" [11]=> string(19) "UnhandledMatchError" [14]=> string(24) "ClosedGeneratorException" [23]=> string(10) "FiberError" [30]=> string(9) "DateError" [31]=> string(15) "DateObjectError" [32]=> string(14) "DateRangeError" [33]=> string(13) "DateException" [34]=> string(28) "DateInvalidTimeZoneException" [35]=> string(29) "DateInvalidOperationException" [36]=> string(28) "DateMalformedStringException" [37]=> string(36) "DateMalformedIntervalStringException" [38]=> string(34) "DateMalformedPeriodStringException" [45]=> string(12) "DOMException" [67]=> string(13) "JsonException" [68]=> string(14) "LogicException" [69]=> string(24) "BadFunctionCallException" [70]=> string(22) "BadMethodCallException" [71]=> string(15) "DomainException" [72]=> string(24) "InvalidArgumentException" [73]=> string(15) "LengthException" [74]=> string(19) "OutOfRangeException" [75]=> string(16) "RuntimeException" [76]=> string(20) "OutOfBoundsException" [77]=> string(17) "OverflowException" [78]=> string(14) "RangeException" [79]=> string(18) "UnderflowException" [80]=> string(24) "UnexpectedValueException" [89]=> string(15) "CachingIterator" [90]=> string(24) "RecursiveCachingIterator" [101]=> string(11) "SplFileInfo" [102]=> string(17) "DirectoryIterator" [103]=> string(18) "FilesystemIterator" [104]=> string(26) "RecursiveDirectoryIterator" [105]=> string(12) "GlobIterator" [106]=> string(13) "SplFileObject" [107]=> string(17) "SplTempFileObject" [118]=> string(12) "PDOException" [123]=> string(18) "Random\RandomError" [124]=> string(30) "Random\BrokenRandomEngineError" [125]=> string(22) "Random\RandomException" [132]=> string(19) "ReflectionException" [134]=> string(26) "ReflectionFunctionAbstract" [135]=> string(18) "ReflectionFunction" [137]=> string(19) "ReflectionParameter" [138]=> string(14) "ReflectionType" [139]=> string(19) "ReflectionNamedType" [140]=> string(19) "ReflectionUnionType" [141]=> string(26) "ReflectionIntersectionType" [142]=> string(16) "ReflectionMethod" [143]=> string(15) "ReflectionClass" [144]=> string(16) "ReflectionObject" [145]=> string(18) "ReflectionProperty" [146]=> string(23) "ReflectionClassConstant" [147]=> string(19) "ReflectionExtension" [148]=> string(23) "ReflectionZendExtension" [150]=> string(19) "ReflectionAttribute" [151]=> string(14) "ReflectionEnum" [152]=> string(22) "ReflectionEnumUnitCase" [153]=> string(24) "ReflectionEnumBackedCase" [156]=> string(14) "AssertionError" [159]=> string(16) "SimpleXMLElement" [160]=> string(17) "SimpleXMLIterator" [161]=> string(13) "PharException" [162]=> string(4) "Phar" [163]=> string(8) "PharData" [164]=> string(12) "PharFileInfo" [165]=> string(8) "PhpToken" [183]=> string(13) "IntlException" }

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:
45.46 ms | 409 KiB | 8 Q