3v4l.org

run code in 300+ PHP versions simultaneously
<?php interface Arrayable { public function toArray(); } class Item implements Arrayable { protected $attributes = array(); protected $someParameter = true; public function __construct($attributes) { $this->attributes = $attributes; } public function toArray() { return $this->attributes; } public function __toArray() { return $this->toArray(); } } class ItemCollection implements Arrayaable { protected $items = array(); public function addItem(Item $item) { $this->items[] = $item; } public function toArray() { $result = array(); foreach ($this->items as $item) { $result[] = $item->toArray(); } return $result; } public function __toArray() { return $this->toArray(); } } $array = array('foo' => 'bar', 'baz' => 'qux'); $item = new Item($array); print_r((array) $item); print_r($item->toArray()); $collection = new ItemCollection(); $collection->addItem($item); $collection->addItem($item); print_r((array) $collection); print_r($collection->toArray()); <?php

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.0060.03412.04
5.4.320.0060.03612.53
5.4.310.0030.04012.52
5.4.300.0030.03912.53
5.4.290.0070.03612.52
5.4.280.0060.03512.42
5.4.270.0110.03012.42
5.4.260.0080.03512.42
5.4.250.0070.03612.42
5.4.240.0030.03812.42
5.4.230.0040.04012.41
5.4.220.0090.04112.41
5.4.210.0090.04512.41
5.4.200.0070.04112.41
5.4.190.0090.03512.41
5.4.180.0080.03612.41
5.4.170.0080.04012.42
5.4.160.0060.03812.41
5.4.150.0100.04412.41
5.4.140.0070.03512.10
5.4.130.0070.03612.08
5.4.120.0060.03612.05
5.4.110.0050.03612.04
5.4.100.0050.03612.04
5.4.90.0060.03812.04
5.4.80.0040.03912.04
5.4.70.0040.03612.04
5.4.60.0050.03612.04
5.4.50.0080.03412.04
5.4.40.0050.03512.02
5.4.30.0100.03612.02
5.4.20.0060.04412.02
5.4.10.0110.03012.02
5.4.00.0070.03511.51
5.3.290.0070.03812.80
5.3.280.0080.03512.70
5.3.270.0050.04012.72
5.3.260.0070.03812.72
5.3.250.0060.03712.72
5.3.240.0110.04712.72
5.3.230.0080.04712.70
5.3.220.0030.04212.68
5.3.210.0050.03912.68
5.3.200.0090.03412.68
5.3.190.0060.03812.68
5.3.180.0030.03812.67
5.3.170.0110.04012.67
5.3.160.0080.03512.68
5.3.150.0050.03912.68
5.3.140.0030.03912.66
5.3.130.0050.04012.66
5.3.120.0070.03712.66
5.3.110.0130.04312.66
5.3.100.0060.03912.14
5.3.90.0070.03612.12
5.3.80.0090.03912.11
5.3.70.0060.03812.11
5.3.60.0060.03712.09
5.3.50.0080.04012.04
5.3.40.0080.04812.05
5.3.30.0130.04012.00
5.3.20.0040.03811.79
5.3.10.0020.04011.75
5.3.00.0060.03811.73
5.2.170.0050.0339.23
5.2.160.0070.0289.24
5.2.150.0050.0309.24
5.2.140.0030.0339.23
5.2.130.0150.0629.19
5.2.120.0100.0329.19
5.2.110.0070.0399.20
5.2.100.0070.0369.20
5.2.90.0050.0319.20
5.2.80.0060.0329.20
5.2.70.0040.0329.19
5.2.60.0050.0309.15
5.2.50.0050.0339.11
5.2.40.0070.0289.09
5.2.30.0060.0309.07
5.2.20.0070.0269.06
5.2.10.0030.0298.96
5.2.00.0030.0318.83
5.1.60.0030.0278.12
5.1.50.0030.0288.11
5.1.40.0030.0288.09
5.1.30.0060.0258.45
5.1.20.0070.0318.46
5.1.10.0060.0268.19
5.1.00.0030.0278.19
5.0.50.0040.0216.66
5.0.40.0020.0216.53
5.0.30.0040.0306.34
5.0.20.0030.0196.30
5.0.10.0020.0206.28
5.0.00.0030.0306.28
4.4.90.0030.0144.78
4.4.80.0030.0144.76
4.4.70.0030.0154.75
4.4.60.0030.0154.75
4.4.50.0020.0164.77
4.4.40.0040.0244.70
4.4.30.0030.0154.76
4.4.20.0020.0174.84
4.4.10.0040.0144.85
4.4.00.0010.0274.76
4.3.110.0040.0144.67
4.3.100.0020.0154.66
4.3.90.0030.0144.63
4.3.80.0030.0244.59
4.3.70.0030.0144.63
4.3.60.0030.0144.63
4.3.50.0010.0204.63
4.3.40.0020.0244.54
4.3.30.0000.0183.28
4.3.20.0020.0163.26
4.3.10.0030.0143.22
4.3.00.0000.0277.00

preferences:
143.99 ms | 1394 KiB | 7 Q