I've just uploaded some old PHP files to a new server and am getting parse errors (Unexpected ':') on shorthand ternary ops. eg:
$y = $x ?: "Some default";
php version is 5.2.16 The code is littered with these shorthand ?:, so before changing them all I thought I'd see if anyone knows anything about this as I've not used PHP for a while now.
Since you are using php 5.2.16, your ternary requires 2 options e.g
Variable = condition ? true value : false value ;
This is only available since PHP 5.3
See this example for more context.
or a more useful but note in the comments: http://www.php.net/manual/en/control-structures.if.php#102060
1http://php.net/manual/en/language.operators.comparison.php