3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Widget implements Serializable { public $references = array(); public function serialize() { $vars = get_object_vars($this); $serialized = serialize($vars); return $serialized; } public function unserialize($serialized) { $array = unserialize($serialized); foreach($array as $k => $v) $this->$k = $v; } } class Placeholder { public $id; public function __construct($id) { $this->id = $id; } } $placeholder1 = new Placeholder(1); $placeholder2 = new Placeholder(2); $widgets = array(new Widget, new Widget, new Widget, new Widget); $widgets[0]->references[] = $placeholder1; $widgets[1]->references[] = $placeholder2; $widgets[2]->references[] = $placeholder1; $widgets[3]->references[] = $placeholder1; $serialized = serialize($widgets); var_dump($serialized); var_dump(unserialize($serialized));
Output for git.master, git.master_jit, rfc.property-hooks
Deprecated: Widget implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /in/X6iEt on line 2 string(310) "a:4:{i:0;C:6:"Widget":70:{a:1:{s:10:"references";a:1:{i:0;O:11:"Placeholder":1:{s:2:"id";i:1;}}}}i:1;C:6:"Widget":70:{a:1:{s:10:"references";a:1:{i:0;O:11:"Placeholder":1:{s:2:"id";i:2;}}}}i:2;C:6:"Widget":38:{a:1:{s:10:"references";a:1:{i:0;r:5;}}}i:3;C:6:"Widget":38:{a:1:{s:10:"references";a:1:{i:0;r:5;}}}}" array(4) { [0]=> object(Widget)#7 (1) { ["references"]=> array(1) { [0]=> object(Placeholder)#8 (1) { ["id"]=> int(1) } } } [1]=> object(Widget)#9 (1) { ["references"]=> array(1) { [0]=> object(Placeholder)#10 (1) { ["id"]=> int(2) } } } [2]=> object(Widget)#11 (1) { ["references"]=> array(1) { [0]=> object(Placeholder)#8 (1) { ["id"]=> int(1) } } } [3]=> object(Widget)#12 (1) { ["references"]=> array(1) { [0]=> object(Placeholder)#8 (1) { ["id"]=> int(1) } } } }

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
46.24 ms | 403 KiB | 8 Q