3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<? class Test { function AMethod($param) {echo $param*1;} function BMethod($param) {echo $param*2;} function CMethod($param) {echo $param*3;} } $obj = new Test(); $obj->{"A".Method}(1); $obj->{"B".Method}(2); $obj->{"C".Method}(3); $modulename1 = "A"; $modulename2 = "B"; $modulename3 = "C"; $obj->{$modulename1.Method}(1); $obj->{$modulename2.Method}(2); $obj->{$modulename3.Method}(3);
Output for 5.4.0 - 5.6.28, hhvm-3.10.0 - 3.12.0, 7.0.0 - 7.1.0
Notice: Use of undefined constant Method - assumed 'Method' in /in/S3XbK on line 9 1 Notice: Use of undefined constant Method - assumed 'Method' in /in/S3XbK on line 10 4 Notice: Use of undefined constant Method - assumed 'Method' in /in/S3XbK on line 11 9 Notice: Use of undefined constant Method - assumed 'Method' in /in/S3XbK on line 17 1 Notice: Use of undefined constant Method - assumed 'Method' in /in/S3XbK on line 18 4 Notice: Use of undefined constant Method - assumed 'Method' in /in/S3XbK on line 19 9
Output for 4.3.0 - 5.3.29
<? class Test { function AMethod($param) {echo $param*1;} function BMethod($param) {echo $param*2;} function CMethod($param) {echo $param*3;} } $obj = new Test(); $obj->{"A".Method}(1); $obj->{"B".Method}(2); $obj->{"C".Method}(3); $modulename1 = "A"; $modulename2 = "B"; $modulename3 = "C"; $obj->{$modulename1.Method}(1); $obj->{$modulename2.Method}(2); $obj->{$modulename3.Method}(3);