3v4l.org

run code in 300+ PHP versions simultaneously
<?php interface Arrayable { /** * Return the object as an array */ public function toArray(); } interface ExcludeArrayable { /** * Return the object as an array, except for the keys in $exclude */ public function toArray($exclude= array()); } class Item implements Arrayable, ExcludeArrayable { $attributes = array(); public function __construct($attributes) { $this->attributes = $attributes; } public function toArray($exclude = array()) { return array_filter($this->attributes, function($k) use($exclude) { return !in_array($k, $exclude); }, ARRAY_FILTER_USE_KEY); } } $array = array('foo' => 'bar', 'baz' => 2); $item = new Item($array); var_dump($item->toArray());

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.340.0050.03512.03
5.4.320.0030.04012.52
5.4.310.0050.04112.52
5.4.300.0040.04312.52
5.4.290.0050.04912.51
5.4.280.0090.03512.41
5.4.270.0070.03712.41
5.4.260.0060.03912.41
5.4.250.0070.03712.41
5.4.240.0110.03512.41
5.4.230.0050.04212.40
5.4.220.0080.03412.40
5.4.210.0090.03612.40
5.4.200.0060.04512.40
5.4.190.0090.03812.40
5.4.180.0040.04112.39
5.4.170.0070.03712.41
5.4.160.0100.04012.40
5.4.150.0060.04512.40
5.4.140.0040.04312.09
5.4.130.0080.03812.07
5.4.120.0080.03712.03
5.4.110.0070.03412.03
5.4.100.0040.03712.03
5.4.90.0080.04012.03
5.4.80.0130.04612.03
5.4.70.0050.04912.02
5.4.60.0080.04812.03
5.4.50.0070.04412.03
5.4.40.0070.03312.02
5.4.30.0050.04012.01
5.4.20.0060.03712.01
5.4.10.0030.03712.01
5.4.00.0030.03911.50
5.3.290.0050.04412.80
5.3.280.0050.04512.71
5.3.270.0090.03712.72
5.3.260.0090.03912.72
5.3.250.0050.04112.72
5.3.240.0080.03712.72
5.3.230.0050.04012.71
5.3.220.0060.04012.68
5.3.210.0090.03712.68
5.3.200.0060.04012.68
5.3.190.0070.04112.68
5.3.180.0060.04012.67
5.3.170.0030.04512.66
5.3.160.0080.03412.67
5.3.150.0040.03812.68
5.3.140.0050.03612.66
5.3.130.0080.03712.66
5.3.120.0090.04912.66
5.3.110.0050.04312.66
5.3.100.0060.03812.13
5.3.90.0090.03212.11
5.3.80.0050.03712.10
5.3.70.0070.04212.10
5.3.60.0060.03612.08
5.3.50.0050.03612.03
5.3.40.0050.03712.03
5.3.30.0040.03711.99
5.3.20.0090.03611.77
5.3.10.0070.03511.73
5.3.00.0070.04311.73
5.2.170.0080.0409.22
5.2.160.0070.0409.23
5.2.150.0040.0379.23
5.2.140.0100.0249.22
5.2.130.0040.0309.18
5.2.120.0030.0319.18
5.2.110.0080.0259.19
5.2.100.0060.0309.18
5.2.90.0050.0319.18
5.2.80.0040.0379.18
5.2.70.0060.0309.18
5.2.60.0040.0329.14
5.2.50.0070.0299.10
5.2.40.0040.0359.08
5.2.30.0040.0349.05
5.2.20.0050.0379.04
5.2.10.0060.0328.95
5.2.00.0040.0348.81
5.1.60.0050.0238.10
5.1.50.0050.0238.09
5.1.40.0060.0238.07
5.1.30.0070.0258.42
5.1.20.0020.0298.45
5.1.10.0020.0288.17
5.1.00.0050.0298.18
5.0.50.0050.0216.65
5.0.40.0050.0186.51
5.0.30.0030.0326.32
5.0.20.0040.0236.29
5.0.10.0070.0256.27
5.0.00.0050.0376.26
4.4.90.0030.0234.78
4.4.80.0020.0214.76
4.4.70.0040.0214.76
4.4.60.0030.0184.75
4.4.50.0020.0164.77
4.4.40.0030.0254.71
4.4.30.0040.0154.76
4.4.20.0020.0174.84
4.4.10.0040.0154.84
4.4.00.0060.0224.76
4.3.110.0010.0194.67
4.3.100.0040.0184.66
4.3.90.0020.0174.63
4.3.80.0040.0234.59
4.3.70.0020.0164.63
4.3.60.0010.0164.63
4.3.50.0060.0134.63
4.3.40.0030.0244.54
4.3.30.0020.0163.28
4.3.20.0000.0183.26
4.3.10.0030.0153.22
4.3.00.0070.0276.82

preferences:
143.29 ms | 1394 KiB | 7 Q