3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Test { public $testdata = []; public function __construct(&$inputdata) { $this->testdata =& $inputdata; } public function &getIterator() { foreach ($this->testdata as $ikey => &$ivalue) { yield $ikey => $ivalue; } } } $data = array("one" => "Curly", "two" => "Larry", "three" => "Moe"); $t = new Test($data); foreach ($t->getIterator() as $tkey => &$tvalue) { // $tvalue -> $ivalue -> $t->testdata -> $inputdata -> $data // break any reference in that chain and the line below will not work $tvalue = strtoupper($tvalue); } foreach ($data as $dkey => $dvalue) { printf("%s: %s\n", $dkey, $dvalue); }
Output for git.master, git.master_jit, rfc.property-hooks
one: CURLY two: LARRY three: MOE

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:
62.21 ms | 401 KiB | 8 Q