3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php $foo = 'foo'; $bar = new stdClass; $bar->$foo = array(10, 20, 30); // $bar->foo => array(10, 20, 30) $bar->{$foo[0]} = 42; // dynamic property $f = 42 – derived from zero offset of ‘foo’ var_dump($bar); $bar->$foo[0] = 42; // zeroth element of array that $foo identifies = 42 var_dump($bar);
based on FjrRt
Output for 7.0.0 - 7.2.0
object(stdClass)#1 (2) { ["foo"]=> array(3) { [0]=> int(10) [1]=> int(20) [2]=> int(30) } ["f"]=> int(42) } object(stdClass)#1 (2) { ["foo"]=> array(3) { [0]=> int(42) [1]=> int(20) [2]=> int(30) } ["f"]=> int(42) }
Output for 5.3.21 - 5.6.28
object(stdClass)#1 (2) { ["foo"]=> array(3) { [0]=> int(10) [1]=> int(20) [2]=> int(30) } ["f"]=> int(42) } object(stdClass)#1 (2) { ["foo"]=> array(3) { [0]=> int(10) [1]=> int(20) [2]=> int(30) } ["f"]=> int(42) }