3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php $js = "Morris.Donut({ element: 'piechart', data: [ {label: 'Option 1', value: ${op1}$ }, {label: 'Option 2', value: ${op2}$ }, {label: 'Option 3', value: ${op3}$ }, {label: 'Option 4', value: ${op4}$ } ], colors: [\"#3228db\", \"#34225e\", \"#1abc3c\", \"#24495e\", \"#9b51b6\", \"#15a5a6\"], formatter: function (y) { return y + \"%\" } });"; $op1 = 25; $op2 = 40; $op3 = 25; $op4 = 10; $matches = array(); $vars = array(); $i=0; while(preg_match("/\$\{([^\}]*)\}\$/", $js, &$matches)){ $vars[$i++] = $matches[1]; } print_r($vars);
Output for 5.4.0 - 5.4.24
Fatal error: Call-time pass-by-reference has been removed in /in/n4SMB on line 23
Process exited with code 255.
Output for 5.3.0 - 5.3.29
Deprecated: Call-time pass-by-reference has been deprecated in /in/n4SMB on line 23 Notice: Undefined variable: op1 in /in/n4SMB on line 6 Notice: Undefined variable: op2 in /in/n4SMB on line 7 Notice: Undefined variable: op3 in /in/n4SMB on line 8 Notice: Undefined variable: op4 in /in/n4SMB on line 9 Array ( )