3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php gc_enable(); class test { public $spl; public function __construct() { $this->spl = new stdClass(); $this->spl->foo = $this; } } $i = 0; while($i < 100) { $test = new test(); unset($test); gc_collect_cycles(); echo sprintf('%1$04d: ', $i) . number_format(memory_get_usage()) . " B\n"; $i++; }
Output for 7.1.0
0000: 349,208 B 0001: 349,240 B 0002: 349,240 B 0003: 349,240 B 0004: 349,240 B 0005: 349,240 B 0006: 349,240 B 0007: 349,240 B 0008: 349,240 B 0009: 349,240 B 0010: 349,240 B 0011: 349,240 B 0012: 349,240 B 0013: 349,240 B 0014: 349,240 B 0015: 349,240 B 0016: 349,240 B 0017: 349,240 B 0018: 349,240 B 0019: 349,240 B 0020: 349,240 B 0021: 349,240 B 0022: 349,240 B 0023: 349,240 B 0024: 349,240 B 0025: 349,240 B 0026: 349,240 B 0027: 349,240 B 0028: 349,240 B 0029: 349,240 B 0030: 349,240 B 0031: 349,240 B 0032: 349,240 B 0033: 349,240 B 0034: 349,240 B 0035: 349,240 B 0036: 349,240 B 0037: 349,240 B 0038: 349,240 B 0039: 349,240 B 0040: 349,240 B 0041: 349,240 B 0042: 349,240 B 0043: 349,240 B 0044: 349,240 B 0045: 349,240 B 0046: 349,240 B 0047: 349,240 B 0048: 349,240 B 0049: 349,240 B 0050: 349,240 B 0051: 349,240 B 0052: 349,240 B 0053: 349,240 B 0054: 349,240 B 0055: 349,240 B 0056: 349,240 B 0057: 349,240 B 0058: 349,240 B 0059: 349,240 B 0060: 349,240 B 0061: 349,240 B 0062: 349,240 B 0063: 349,240 B 0064: 349,240 B 0065: 349,240 B 0066: 349,240 B 0067: 349,240 B 0068: 349,240 B 0069: 349,240 B 0070: 349,240 B 0071: 349,240 B 0072: 349,240 B 0073: 349,240 B 0074: 349,240 B 0075: 349,240 B 0076: 349,240 B 0077: 349,240 B 0078: 349,240 B 0079: 349,240 B 0080: 349,240 B 0081: 349,240 B 0082: 349,240 B 0083: 349,240 B 0084: 349,240 B 0085: 349,240 B 0086: 349,240 B 0087: 349,240 B 0088: 349,240 B 0089: 349,240 B 0090: 349,240 B 0091: 349,240 B 0092: 349,240 B 0093: 349,240 B 0094: 349,240 B 0095: 349,240 B 0096: 349,240 B 0097: 349,240 B 0098: 349,240 B 0099: 349,240 B
Output for 7.0.0 - 7.0.14
0000: 349,168 B 0001: 349,200 B 0002: 349,200 B 0003: 349,200 B 0004: 349,200 B 0005: 349,200 B 0006: 349,200 B 0007: 349,200 B 0008: 349,200 B 0009: 349,200 B 0010: 349,200 B 0011: 349,200 B 0012: 349,200 B 0013: 349,200 B 0014: 349,200 B 0015: 349,200 B 0016: 349,200 B 0017: 349,200 B 0018: 349,200 B 0019: 349,200 B 0020: 349,200 B 0021: 349,200 B 0022: 349,200 B 0023: 349,200 B 0024: 349,200 B 0025: 349,200 B 0026: 349,200 B 0027: 349,200 B 0028: 349,200 B 0029: 349,200 B 0030: 349,200 B 0031: 349,200 B 0032: 349,200 B 0033: 349,200 B 0034: 349,200 B 0035: 349,200 B 0036: 349,200 B 0037: 349,200 B 0038: 349,200 B 0039: 349,200 B 0040: 349,200 B 0041: 349,200 B 0042: 349,200 B 0043: 349,200 B 0044: 349,200 B 0045: 349,200 B 0046: 349,200 B 0047: 349,200 B 0048: 349,200 B 0049: 349,200 B 0050: 349,200 B 0051: 349,200 B 0052: 349,200 B 0053: 349,200 B 0054: 349,200 B 0055: 349,200 B 0056: 349,200 B 0057: 349,200 B 0058: 349,200 B 0059: 349,200 B 0060: 349,200 B 0061: 349,200 B 0062: 349,200 B 0063: 349,200 B 0064: 349,200 B 0065: 349,200 B 0066: 349,200 B 0067: 349,200 B 0068: 349,200 B 0069: 349,200 B 0070: 349,200 B 0071: 349,200 B 0072: 349,200 B 0073: 349,200 B 0074: 349,200 B 0075: 349,200 B 0076: 349,200 B 0077: 349,200 B 0078: 349,200 B 0079: 349,200 B 0080: 349,200 B 0081: 349,200 B 0082: 349,200 B 0083: 349,200 B 0084: 349,200 B 0085: 349,200 B 0086: 349,200 B 0087: 349,200 B 0088: 349,200 B 0089: 349,200 B 0090: 349,200 B 0091: 349,200 B 0092: 349,200 B 0093: 349,200 B 0094: 349,200 B 0095: 349,200 B 0096: 349,200 B 0097: 349,200 B 0098: 349,200 B 0099: 349,200 B
Output for hhvm-3.10.0 - 3.12.0
0000: 2,097,152 B 0001: 2,097,152 B 0002: 2,097,152 B 0003: 2,097,152 B 0004: 2,097,152 B 0005: 2,097,152 B 0006: 2,097,152 B 0007: 2,097,152 B 0008: 2,097,152 B 0009: 2,097,152 B 0010: 2,097,152 B 0011: 2,097,152 B 0012: 2,097,152 B 0013: 2,097,152 B 0014: 2,097,152 B 0015: 2,097,152 B 0016: 2,097,152 B 0017: 2,097,152 B 0018: 2,097,152 B 0019: 2,097,152 B 0020: 2,097,152 B 0021: 2,097,152 B 0022: 2,097,152 B 0023: 2,097,152 B 0024: 2,097,152 B 0025: 2,097,152 B 0026: 2,097,152 B 0027: 2,097,152 B 0028: 2,097,152 B 0029: 2,097,152 B 0030: 2,097,152 B 0031: 2,097,152 B 0032: 2,097,152 B 0033: 2,097,152 B 0034: 2,097,152 B 0035: 2,097,152 B 0036: 2,097,152 B 0037: 2,097,152 B 0038: 2,097,152 B 0039: 2,097,152 B 0040: 2,097,152 B 0041: 2,097,152 B 0042: 2,097,152 B 0043: 2,097,152 B 0044: 2,097,152 B 0045: 2,097,152 B 0046: 2,097,152 B 0047: 2,097,152 B 0048: 2,097,152 B 0049: 2,097,152 B 0050: 2,097,152 B 0051: 2,097,152 B 0052: 2,097,152 B 0053: 2,097,152 B 0054: 2,097,152 B 0055: 2,097,152 B 0056: 2,097,152 B 0057: 2,097,152 B 0058: 2,097,152 B 0059: 2,097,152 B 0060: 2,097,152 B 0061: 2,097,152 B 0062: 2,097,152 B 0063: 2,097,152 B 0064: 2,097,152 B 0065: 2,097,152 B 0066: 2,097,152 B 0067: 2,097,152 B 0068: 2,097,152 B 0069: 2,097,152 B 0070: 2,097,152 B 0071: 2,097,152 B 0072: 2,097,152 B 0073: 2,097,152 B 0074: 2,097,152 B 0075: 2,097,152 B 0076: 2,097,152 B 0077: 2,097,152 B 0078: 2,097,152 B 0079: 2,097,152 B 0080: 2,097,152 B 0081: 2,097,152 B 0082: 2,097,152 B 0083: 2,097,152 B 0084: 2,097,152 B 0085: 2,097,152 B 0086: 2,097,152 B 0087: 2,097,152 B 0088: 2,097,152 B 0089: 2,097,152 B 0090: 2,097,152 B 0091: 2,097,152 B 0092: 2,097,152 B 0093: 2,097,152 B 0094: 2,097,152 B 0095: 2,097,152 B 0096: 2,097,152 B 0097: 2,097,152 B 0098: 2,097,152 B 0099: 2,097,152 B
Output for 5.6.8 - 5.6.28
0000: 222,184 B 0001: 222,232 B 0002: 222,232 B 0003: 222,232 B 0004: 222,232 B 0005: 222,232 B 0006: 222,232 B 0007: 222,232 B 0008: 222,232 B 0009: 222,232 B 0010: 222,232 B 0011: 222,232 B 0012: 222,232 B 0013: 222,232 B 0014: 222,232 B 0015: 222,232 B 0016: 222,232 B 0017: 222,232 B 0018: 222,232 B 0019: 222,232 B 0020: 222,232 B 0021: 222,232 B 0022: 222,232 B 0023: 222,232 B 0024: 222,232 B 0025: 222,232 B 0026: 222,232 B 0027: 222,232 B 0028: 222,232 B 0029: 222,232 B 0030: 222,232 B 0031: 222,232 B 0032: 222,232 B 0033: 222,232 B 0034: 222,232 B 0035: 222,232 B 0036: 222,232 B 0037: 222,232 B 0038: 222,232 B 0039: 222,232 B 0040: 222,232 B 0041: 222,232 B 0042: 222,232 B 0043: 222,232 B 0044: 222,232 B 0045: 222,232 B 0046: 222,232 B 0047: 222,232 B 0048: 222,232 B 0049: 222,232 B 0050: 222,232 B 0051: 222,232 B 0052: 222,232 B 0053: 222,232 B 0054: 222,232 B 0055: 222,232 B 0056: 222,232 B 0057: 222,232 B 0058: 222,232 B 0059: 222,232 B 0060: 222,232 B 0061: 222,232 B 0062: 222,232 B 0063: 222,232 B 0064: 222,232 B 0065: 222,232 B 0066: 222,232 B 0067: 222,232 B 0068: 222,232 B 0069: 222,232 B 0070: 222,232 B 0071: 222,232 B 0072: 222,232 B 0073: 222,232 B 0074: 222,232 B 0075: 222,232 B 0076: 222,232 B 0077: 222,232 B 0078: 222,232 B 0079: 222,232 B 0080: 222,232 B 0081: 222,232 B 0082: 222,232 B 0083: 222,232 B 0084: 222,232 B 0085: 222,232 B 0086: 222,232 B 0087: 222,232 B 0088: 222,232 B 0089: 222,232 B 0090: 222,232 B 0091: 222,232 B 0092: 222,232 B 0093: 222,232 B 0094: 222,232 B 0095: 222,232 B 0096: 222,232 B 0097: 222,232 B 0098: 222,232 B 0099: 222,232 B
Output for 5.5.24 - 5.5.35
0000: 222,176 B 0001: 222,208 B 0002: 222,208 B 0003: 222,208 B 0004: 222,208 B 0005: 222,208 B 0006: 222,208 B 0007: 222,208 B 0008: 222,208 B 0009: 222,208 B 0010: 222,208 B 0011: 222,208 B 0012: 222,208 B 0013: 222,208 B 0014: 222,208 B 0015: 222,208 B 0016: 222,208 B 0017: 222,208 B 0018: 222,208 B 0019: 222,208 B 0020: 222,208 B 0021: 222,208 B 0022: 222,208 B 0023: 222,208 B 0024: 222,208 B 0025: 222,208 B 0026: 222,208 B 0027: 222,208 B 0028: 222,208 B 0029: 222,208 B 0030: 222,208 B 0031: 222,208 B 0032: 222,208 B 0033: 222,208 B 0034: 222,208 B 0035: 222,208 B 0036: 222,208 B 0037: 222,208 B 0038: 222,208 B 0039: 222,208 B 0040: 222,208 B 0041: 222,208 B 0042: 222,208 B 0043: 222,208 B 0044: 222,208 B 0045: 222,208 B 0046: 222,208 B 0047: 222,208 B 0048: 222,208 B 0049: 222,208 B 0050: 222,208 B 0051: 222,208 B 0052: 222,208 B 0053: 222,208 B 0054: 222,208 B 0055: 222,208 B 0056: 222,208 B 0057: 222,208 B 0058: 222,208 B 0059: 222,208 B 0060: 222,208 B 0061: 222,208 B 0062: 222,208 B 0063: 222,208 B 0064: 222,208 B 0065: 222,208 B 0066: 222,208 B 0067: 222,208 B 0068: 222,208 B 0069: 222,208 B 0070: 222,208 B 0071: 222,208 B 0072: 222,208 B 0073: 222,208 B 0074: 222,208 B 0075: 222,208 B 0076: 222,208 B 0077: 222,208 B 0078: 222,208 B 0079: 222,208 B 0080: 222,208 B 0081: 222,208 B 0082: 222,208 B 0083: 222,208 B 0084: 222,208 B 0085: 222,208 B 0086: 222,208 B 0087: 222,208 B 0088: 222,208 B 0089: 222,208 B 0090: 222,208 B 0091: 222,208 B 0092: 222,208 B 0093: 222,208 B 0094: 222,208 B 0095: 222,208 B 0096: 222,208 B 0097: 222,208 B 0098: 222,208 B 0099: 222,208 B
Output for 5.4.0 - 5.4.45
0000: 222,688 B 0001: 222,720 B 0002: 222,720 B 0003: 222,720 B 0004: 222,720 B 0005: 222,720 B 0006: 222,720 B 0007: 222,720 B 0008: 222,720 B 0009: 222,720 B 0010: 222,720 B 0011: 222,720 B 0012: 222,720 B 0013: 222,720 B 0014: 222,720 B 0015: 222,720 B 0016: 222,720 B 0017: 222,720 B 0018: 222,720 B 0019: 222,720 B 0020: 222,720 B 0021: 222,720 B 0022: 222,720 B 0023: 222,720 B 0024: 222,720 B 0025: 222,720 B 0026: 222,720 B 0027: 222,720 B 0028: 222,720 B 0029: 222,720 B 0030: 222,720 B 0031: 222,720 B 0032: 222,720 B 0033: 222,720 B 0034: 222,720 B 0035: 222,720 B 0036: 222,720 B 0037: 222,720 B 0038: 222,720 B 0039: 222,720 B 0040: 222,720 B 0041: 222,720 B 0042: 222,720 B 0043: 222,720 B 0044: 222,720 B 0045: 222,720 B 0046: 222,720 B 0047: 222,720 B 0048: 222,720 B 0049: 222,720 B 0050: 222,720 B 0051: 222,720 B 0052: 222,720 B 0053: 222,720 B 0054: 222,720 B 0055: 222,720 B 0056: 222,720 B 0057: 222,720 B 0058: 222,720 B 0059: 222,720 B 0060: 222,720 B 0061: 222,720 B 0062: 222,720 B 0063: 222,720 B 0064: 222,720 B 0065: 222,720 B 0066: 222,720 B 0067: 222,720 B 0068: 222,720 B 0069: 222,720 B 0070: 222,720 B 0071: 222,720 B 0072: 222,720 B 0073: 222,720 B 0074: 222,720 B 0075: 222,720 B 0076: 222,720 B 0077: 222,720 B 0078: 222,720 B 0079: 222,720 B 0080: 222,720 B 0081: 222,720 B 0082: 222,720 B 0083: 222,720 B 0084: 222,720 B 0085: 222,720 B 0086: 222,720 B 0087: 222,720 B 0088: 222,720 B 0089: 222,720 B 0090: 222,720 B 0091: 222,720 B 0092: 222,720 B 0093: 222,720 B 0094: 222,720 B 0095: 222,720 B 0096: 222,720 B 0097: 222,720 B 0098: 222,720 B 0099: 222,720 B
Output for 5.3.11 - 5.3.29
0000: 625,536 B 0001: 625,568 B 0002: 625,568 B 0003: 625,568 B 0004: 625,568 B 0005: 625,568 B 0006: 625,568 B 0007: 625,568 B 0008: 625,568 B 0009: 625,568 B 0010: 625,568 B 0011: 625,568 B 0012: 625,568 B 0013: 625,568 B 0014: 625,568 B 0015: 625,568 B 0016: 625,568 B 0017: 625,568 B 0018: 625,568 B 0019: 625,568 B 0020: 625,568 B 0021: 625,568 B 0022: 625,568 B 0023: 625,568 B 0024: 625,568 B 0025: 625,568 B 0026: 625,568 B 0027: 625,568 B 0028: 625,568 B 0029: 625,568 B 0030: 625,568 B 0031: 625,568 B 0032: 625,568 B 0033: 625,568 B 0034: 625,568 B 0035: 625,568 B 0036: 625,568 B 0037: 625,568 B 0038: 625,568 B 0039: 625,568 B 0040: 625,568 B 0041: 625,568 B 0042: 625,568 B 0043: 625,568 B 0044: 625,568 B 0045: 625,568 B 0046: 625,568 B 0047: 625,568 B 0048: 625,568 B 0049: 625,568 B 0050: 625,568 B 0051: 625,568 B 0052: 625,568 B 0053: 625,568 B 0054: 625,568 B 0055: 625,568 B 0056: 625,568 B 0057: 625,568 B 0058: 625,568 B 0059: 625,568 B 0060: 625,568 B 0061: 625,568 B 0062: 625,568 B 0063: 625,568 B 0064: 625,568 B 0065: 625,568 B 0066: 625,568 B 0067: 625,568 B 0068: 625,568 B 0069: 625,568 B 0070: 625,568 B 0071: 625,568 B 0072: 625,568 B 0073: 625,568 B 0074: 625,568 B 0075: 625,568 B 0076: 625,568 B 0077: 625,568 B 0078: 625,568 B 0079: 625,568 B 0080: 625,568 B 0081: 625,568 B 0082: 625,568 B 0083: 625,568 B 0084: 625,568 B 0085: 625,568 B 0086: 625,568 B 0087: 625,568 B 0088: 625,568 B 0089: 625,568 B 0090: 625,568 B 0091: 625,568 B 0092: 625,568 B 0093: 625,568 B 0094: 625,568 B 0095: 625,568 B 0096: 625,568 B 0097: 625,568 B 0098: 625,568 B 0099: 625,568 B
Output for 5.3.0 - 5.3.10
0000: 625,400 B 0001: 625,432 B 0002: 625,432 B 0003: 625,432 B 0004: 625,432 B 0005: 625,432 B 0006: 625,432 B 0007: 625,432 B 0008: 625,432 B 0009: 625,432 B 0010: 625,432 B 0011: 625,432 B 0012: 625,432 B 0013: 625,432 B 0014: 625,432 B 0015: 625,432 B 0016: 625,432 B 0017: 625,432 B 0018: 625,432 B 0019: 625,432 B 0020: 625,432 B 0021: 625,432 B 0022: 625,432 B 0023: 625,432 B 0024: 625,432 B 0025: 625,432 B 0026: 625,432 B 0027: 625,432 B 0028: 625,432 B 0029: 625,432 B 0030: 625,432 B 0031: 625,432 B 0032: 625,432 B 0033: 625,432 B 0034: 625,432 B 0035: 625,432 B 0036: 625,432 B 0037: 625,432 B 0038: 625,432 B 0039: 625,432 B 0040: 625,432 B 0041: 625,432 B 0042: 625,432 B 0043: 625,432 B 0044: 625,432 B 0045: 625,432 B 0046: 625,432 B 0047: 625,432 B 0048: 625,432 B 0049: 625,432 B 0050: 625,432 B 0051: 625,432 B 0052: 625,432 B 0053: 625,432 B 0054: 625,432 B 0055: 625,432 B 0056: 625,432 B 0057: 625,432 B 0058: 625,432 B 0059: 625,432 B 0060: 625,432 B 0061: 625,432 B 0062: 625,432 B 0063: 625,432 B 0064: 625,432 B 0065: 625,432 B 0066: 625,432 B 0067: 625,432 B 0068: 625,432 B 0069: 625,432 B 0070: 625,432 B 0071: 625,432 B 0072: 625,432 B 0073: 625,432 B 0074: 625,432 B 0075: 625,432 B 0076: 625,432 B 0077: 625,432 B 0078: 625,432 B 0079: 625,432 B 0080: 625,432 B 0081: 625,432 B 0082: 625,432 B 0083: 625,432 B 0084: 625,432 B 0085: 625,432 B 0086: 625,432 B 0087: 625,432 B 0088: 625,432 B 0089: 625,432 B 0090: 625,432 B 0091: 625,432 B 0092: 625,432 B 0093: 625,432 B 0094: 625,432 B 0095: 625,432 B 0096: 625,432 B 0097: 625,432 B 0098: 625,432 B 0099: 625,432 B
Output for 5.0.0 - 5.2.17
Fatal error: Call to undefined function gc_enable() in /in/FS0hj on line 3
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/FS0hj on line 7
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/FS0hj on line 7
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/FS0hj on line 7
Process exited with code 255.