3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php class ByRef { protected $argAge; protected $bothAge; public function assignJustArgByRef(&$age) { $this->argAge = $age; } public function assignArgAndExpressionByRef(&$age) { $this->bothAge =& $age; } public function getArgAge() { return $this->argAge; } public function getBothAge() { return $this->bothAge; } } $age = 0; $ByRef = new ByRef(); $ByRef->assignJustArgByRef($age); $age++; echo 'only param by ref: ' . $ByRef->getArgAge() . \PHP_EOL; $newAge = 0; $ByRef->assignArgAndExpressionByRef($newAge); $newAge++; echo 'param and expression by ref: ' . $ByRef->getBothAge() . \PHP_EOL;
Output for 5.3.0 - 5.6.28, hhvm-3.10.0 - 3.12.0, 7.0.0 - 7.1.0
only param by ref: 0 param and expression by ref: 1
Output for 5.0.2 - 5.2.17
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/5qaNL on line 31 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/5qaNL on line 37 only param by ref: 0 param and expression by ref: 1
Output for 5.0.0 - 5.0.1
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/5qaNL on line 31 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/5qaNL on line 37 Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/5qaNL on line 31 only param by ref: 0PHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/5qaNL on line 37 param and expression by ref: 1PHP_EOL
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/5qaNL on line 5
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/5qaNL on line 5
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/5qaNL on line 5
Process exited with code 255.