3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php var_dump(array_filter( get_declared_classes(), function ($class) { $r = new ReflectionClass($class); return $r->isInternal() && $r->isFinal(); }));
Output for 7.1.0
array(4) { [9]=> string(7) "Closure" [10]=> string(9) "Generator" [21]=> string(12) "DOMException" [106]=> string(6) "PDORow" }
Output for 7.0.6 - 7.0.14
array(4) { [8]=> string(7) "Closure" [9]=> string(9) "Generator" [20]=> string(12) "DOMException" [105]=> string(6) "PDORow" }
Output for 7.0.5
array(4) { [8]=> string(7) "Closure" [9]=> string(9) "Generator" [20]=> string(12) "DOMException" [106]=> string(6) "PDORow" }
Output for 7.0.0 - 7.0.4
array(4) { [8]=> string(7) "Closure" [9]=> string(9) "Generator" [20]=> string(12) "DOMException" [126]=> string(6) "PDORow" }
Output for hhvm-3.12.0
array(44) { [0]=> string(6) "HH\Set" [1]=> string(9) "HH\Vector" [2]=> string(12) "HH\ImmVector" [3]=> string(9) "HH\ImmSet" [4]=> string(9) "HH\ImmMap" [5]=> string(6) "HH\Map" [6]=> string(24) "HH\Asio\WrappedException" [12]=> string(29) "__SystemLib\TarArchiveHandler" [17]=> string(26) "HH\AsyncFunctionWaitHandle" [25]=> string(20) "AsyncMysqlConnection" [35]=> string(27) "HH\AsyncGeneratorWaitHandle" [37]=> string(18) "HH\SleepWaitHandle" [42]=> string(19) "HH\GenMapWaitHandle" [46]=> string(29) "__SystemLib\InvariantCallback" [56]=> string(21) "HH\Asio\WrappedResult" [77]=> string(21) "HH\GenArrayWaitHandle" [83]=> string(25) "HH\Client\TypecheckResult" [98]=> string(26) "AsyncMysqlRowBlockIterator" [100]=> string(26) "AsyncMysqlQueryErrorResult" [103]=> string(7) "HH\Pair" [119]=> string(17) "HH\AsyncGenerator" [127]=> string(23) "AsyncMysqlConnectResult" [137]=> string(23) "HH\RescheduleWaitHandle" [145]=> string(21) "AsyncMysqlQueryResult" [159]=> string(11) "MapIterator" [165]=> string(20) "HH\TypeStructureKind" [175]=> string(28) "__SystemLib\MethCallerHelper" [182]=> string(16) "AsyncMysqlClient" [201]=> string(32) "HH\ExternalThreadEventWaitHandle" [220]=> string(22) "HH\GenVectorWaitHandle" [230]=> string(31) "__SystemLib\HH\Client\CacheKeys" [234]=> string(11) "SetIterator" [236]=> string(13) "AsyncMysqlRow" [238]=> string(14) "VectorIterator" [247]=> string(21) "AsyncMysqlRowIterator" [249]=> string(25) "HH\Client\TypecheckStatus" [250]=> string(9) "HH\Shapes" [251]=> string(22) "HH\ConditionWaitHandle" [262]=> string(18) "AsyncMysqlRowBlock" [279]=> string(9) "Generator" [280]=> string(12) "PairIterator" [283]=> string(21) "HH\AwaitAllWaitHandle" [291]=> string(19) "HH\StaticWaitHandle" [295]=> string(29) "__SystemLib\ZipArchiveHandler" }
Output for hhvm-3.10.0
array(42) { [2]=> string(21) "HH\AwaitAllWaitHandle" [3]=> string(23) "HH\RescheduleWaitHandle" [4]=> string(7) "HH\Pair" [5]=> string(21) "HH\GenArrayWaitHandle" [6]=> string(26) "HH\AsyncFunctionWaitHandle" [7]=> string(22) "HH\ConditionWaitHandle" [8]=> string(27) "HH\AsyncGeneratorWaitHandle" [10]=> string(19) "HH\StaticWaitHandle" [13]=> string(22) "HH\GenVectorWaitHandle" [14]=> string(18) "HH\SleepWaitHandle" [15]=> string(32) "HH\ExternalThreadEventWaitHandle" [16]=> string(9) "HH\Vector" [18]=> string(12) "HH\ImmVector" [19]=> string(19) "HH\GenMapWaitHandle" [20]=> string(9) "HH\ImmSet" [21]=> string(6) "HH\Set" [22]=> string(6) "HH\Map" [23]=> string(9) "HH\ImmMap" [30]=> string(29) "__SystemLib\TarArchiveHandler" [40]=> string(20) "AsyncMysqlConnection" [58]=> string(29) "__SystemLib\InvariantCallback" [91]=> string(25) "HH\Client\TypecheckResult" [106]=> string(26) "AsyncMysqlRowBlockIterator" [108]=> string(26) "AsyncMysqlQueryErrorResult" [126]=> string(17) "HH\AsyncGenerator" [133]=> string(23) "AsyncMysqlConnectResult" [150]=> string(21) "AsyncMysqlQueryResult" [163]=> string(11) "MapIterator" [169]=> string(20) "HH\TypeStructureKind" [178]=> string(28) "__SystemLib\MethCallerHelper" [185]=> string(16) "AsyncMysqlClient" [229]=> string(31) "__SystemLib\HH\Client\CacheKeys" [233]=> string(11) "SetIterator" [235]=> string(13) "AsyncMysqlRow" [237]=> string(14) "VectorIterator" [246]=> string(21) "AsyncMysqlRowIterator" [248]=> string(25) "HH\Client\TypecheckStatus" [249]=> string(9) "HH\Shapes" [258]=> string(18) "AsyncMysqlRowBlock" [274]=> string(9) "Generator" [275]=> string(12) "PairIterator" [286]=> string(29) "__SystemLib\ZipArchiveHandler" }
Output for 5.5.24 - 5.5.30, 5.5.34 - 5.5.35, 5.6.21 - 5.6.28
array(3) { [3]=> string(7) "Closure" [4]=> string(9) "Generator" [99]=> string(6) "PDORow" }
Output for 5.6.8 - 5.6.15, 5.6.20
array(3) { [3]=> string(7) "Closure" [4]=> string(9) "Generator" [100]=> string(6) "PDORow" }
Output for 5.6.16 - 5.6.19
array(3) { [3]=> string(7) "Closure" [4]=> string(9) "Generator" [119]=> string(6) "PDORow" }
Output for 5.5.31 - 5.5.33
array(3) { [3]=> string(7) "Closure" [4]=> string(9) "Generator" [118]=> string(6) "PDORow" }
Output for 5.4.34 - 5.4.45
array(2) { [3]=> string(7) "Closure" [106]=> string(6) "PDORow" }
Output for 5.4.0 - 5.4.32
array(2) { [3]=> string(7) "Closure" [98]=> string(6) "PDORow" }
Output for 5.3.0 - 5.3.29
array(5) { [3]=> string(7) "Closure" [95]=> string(6) "PDORow" [122]=> string(12) "SQLiteResult" [123]=> string(16) "SQLiteUnbuffered" [124]=> string(15) "SQLiteException" }
Output for 4.4.2 - 4.4.9, 5.1.0 - 5.2.17
Parse error: syntax error, unexpected T_FUNCTION in /in/vTvid on line 4
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1, 5.0.0 - 5.0.5
Parse error: parse error, unexpected T_FUNCTION in /in/vTvid on line 4
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error in /in/vTvid on line 4
Process exited with code 255.