3v4l.org

run code in 300+ PHP versions simultaneously
<?php $var = "xyz\n"; $obj = new stdClass(); $obj->var = "abc\n"; $key = 'var'; echo $$key; // Works echo ${$key}; // Works // echo {$$key}; E_ERROR echo "$$key"; // Does not work? Outputs "$var" echo "${$key}"; // Works echo "{$$key}"; // Works echo $obj->var; // Works echo $obj->{$key}; // Works // echo $obj->${key}; E_ERROR echo $obj->$$key; // E_NOTICE Undefined property echo $obj->${$key}; // E_NOTICE Undefined property echo $obj->{$$key}; // E_NOTICE Undefined property echo "$obj->var"; // Works // echo "${obj->var}"; // Syntax error echo "{$obj->var}"; // Works // echo "$obj->$$key"; // Catchable fatal error // echo "$obj->${$key}"; // Catchable fatal error // echo "$obj->{$$key}"; // Catchable fatal error // echo "${obj->$$key}"; // Syntax error // echo "${obj->${$key}}"; // Syntax error // echo "${obj->{$$key}}"; // Syntax error
Output for git.master, git.master_jit, rfc.property-hooks
Deprecated: Using ${expr} (variable variables) in strings is deprecated, use {${expr}} instead in /in/dpbES on line 12 xyz xyz $varxyz xyz abc abc Warning: Undefined property: stdClass::$xyz in /in/dpbES on line 19 Warning: Undefined property: stdClass::$xyz in /in/dpbES on line 20 Warning: Undefined property: stdClass::$xyz in /in/dpbES on line 21 abc abc

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:
25.55 ms | 406 KiB | 5 Q