3v4l.org

run code in 300+ PHP versions simultaneously
<?php $obj = new stdClass; $obj->{'123'} = '456'; // defined property but unusable as obj->property; see below. print_r($obj); echo 'Via {\'123\'}: ' . $obj->{'123'},"\n"; if (isset($obj->{'123'})) { echo '123 is set',"\n";} if (property_exists($obj,'123')) echo 'property 123 exists',"\n"; echo $obj->123; // Parse error: ...unexpected '123' (T_LNUMBER), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' $obj->{'a123'} = $obj->{'123'}; print_r($obj); echo 'Via Property a123: ' . $obj->a123,"\n"; // making a hash out of property a $obj->a["123"] = $obj->{'123'}; $obj->a["a123"] = $obj->{'a123'}; var_dump($obj); echo 'Via Property "a" and hashkey "123": ' . $obj->a["123"],"\n"; // contrast: $obj = (object)array('123' => '456'); // property 123 is invalid print_r($obj); echo $obj->{'123'},"\n"; // so "Undefined property: stdClass::$123"

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
5.4.320.0050.04712.50
5.4.310.0100.03512.50
5.4.300.0110.03112.51
5.4.290.0040.03912.50
5.4.280.0060.03712.39
5.4.270.0060.03812.39
5.4.260.0050.04512.39
5.4.250.0040.03812.39
5.4.240.0040.03712.39
5.4.230.0030.03912.38
5.4.220.0040.03712.39
5.4.210.0060.03512.38
5.4.200.0060.03712.38
5.4.190.0080.03512.38
5.4.180.0060.04512.38
5.4.170.0050.03812.39
5.4.160.0060.03612.39
5.4.150.0030.03912.38
5.4.140.0070.03612.07
5.4.130.0080.03712.05
5.4.120.0060.03912.02
5.4.110.0050.03712.02
5.4.100.0050.03712.02
5.4.90.0070.03612.01
5.4.80.0040.03812.02
5.4.70.0040.03612.01
5.4.60.0030.03812.01
5.4.50.0050.03612.01
5.4.40.0050.03612.00
5.4.30.0060.03612.00
5.4.20.0100.03312.00
5.4.10.0050.03512.00
5.4.00.0040.03711.49
5.3.290.0090.03612.80
5.3.280.0090.03512.71
5.3.270.0050.04412.72
5.3.260.0070.04012.72
5.3.250.0070.03612.72
5.3.240.0080.03512.72
5.3.230.0070.03712.71
5.3.220.0110.03212.68
5.3.210.0050.04112.68
5.3.200.0100.03412.68
5.3.190.0080.04012.67
5.3.180.0070.03912.67
5.3.170.0080.03412.67
5.3.160.0080.03812.67
5.3.150.0050.03812.68
5.3.140.0070.03512.66
5.3.130.0060.03912.66
5.3.120.0040.04012.66
5.3.110.0060.03712.66
5.3.100.0050.03812.12
5.3.90.0030.03812.08
5.3.80.0050.03612.08
5.3.70.0040.03812.08
5.3.60.0050.03712.06
5.3.50.0050.03612.00
5.3.40.0110.03112.00
5.3.30.0050.03511.95
5.3.20.0080.03311.73
5.3.10.0050.04011.70
5.3.00.0080.03411.68
5.2.170.0070.0289.18
5.2.160.0080.0369.18
5.2.150.0060.0369.18
5.2.140.0060.0289.18
5.2.130.0050.0289.14
5.2.120.0040.0299.14
5.2.110.0050.0289.15
5.2.100.0040.0289.14
5.2.90.0070.0269.14
5.2.80.0060.0289.15
5.2.70.0030.0309.14
5.2.60.0040.0319.09
5.2.50.0070.0269.07
5.2.40.0040.0299.04
5.2.30.0040.0299.02
5.2.20.0040.0309.00
5.2.10.0040.0288.93
5.2.00.0030.0308.79
5.1.60.0040.0248.08
5.1.50.0050.0248.07
5.1.40.0070.0268.05
5.1.30.0050.0268.40
5.1.20.0040.0268.42
5.1.10.0060.0248.14
5.1.00.0010.0288.15
5.0.50.0020.0226.62
5.0.40.0030.0196.49
5.0.30.0030.0316.29
5.0.20.0030.0236.27
5.0.10.0020.0216.25
5.0.00.0030.0316.24
4.4.90.0010.0174.78
4.4.80.0020.0164.76
4.4.70.0030.0154.76
4.4.60.0040.0144.75
4.4.50.0010.0174.77
4.4.40.0030.0244.71
4.4.30.0030.0144.76
4.4.20.0020.0154.84
4.4.10.0030.0154.85
4.4.00.0030.0244.76
4.3.110.0030.0154.67
4.3.100.0020.0164.67
4.3.90.0020.0154.63
4.3.80.0010.0264.59
4.3.70.0020.0144.63
4.3.60.0030.0184.63
4.3.50.0040.0174.63
4.3.40.0030.0284.53
4.3.30.0020.0173.29
4.3.20.0030.0153.27
4.3.10.0010.0163.23
4.3.00.0070.02013.60

preferences:
144.07 ms | 1386 KiB | 7 Q