3v4l.org

run code in 300+ PHP versions simultaneously
<?php function MANGLE_SOMEHOW($trace) { foreach ($trace as $i => $frame) { if (isset($frame['args'])) { foreach ($frame['args'] as $arg_index => $arg_value) { // And here I was thinking this was a 'copy'??? $frame['args'][$arg_index] = $arg_value; } } } } class SomeClass { private $number; public function __construct($number) { $this->number = $number; } public function some_function() { try { throw new Exception(); } catch (Exception $e) { MANGLE_SOMEHOW($e->getTrace()); } } } $some_objects = [ new SomeClass(1), new SomeClass(2), new SomeClass(3), new SomeClass(4), ]; $func = function(SomeClass $x) { $x->some_function(); return $x; }; array_walk($some_objects, $func); var_dump($some_objects); $mangled_result = array_map($func, $some_objects); var_dump($mangled_result);
Output for git.master, git.master_jit, rfc.property-hooks
array(4) { [0]=> object(SomeClass)#1 (1) { ["number":"SomeClass":private]=> int(1) } [1]=> object(SomeClass)#2 (1) { ["number":"SomeClass":private]=> int(2) } [2]=> object(SomeClass)#3 (1) { ["number":"SomeClass":private]=> int(3) } [3]=> object(SomeClass)#4 (1) { ["number":"SomeClass":private]=> int(4) } } array(4) { [0]=> object(SomeClass)#1 (1) { ["number":"SomeClass":private]=> int(1) } [1]=> object(SomeClass)#2 (1) { ["number":"SomeClass":private]=> int(2) } [2]=> object(SomeClass)#3 (1) { ["number":"SomeClass":private]=> int(3) } [3]=> object(SomeClass)#4 (1) { ["number":"SomeClass":private]=> int(4) } }

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:
42.71 ms | 402 KiB | 8 Q