I have this code
$myvar = is_object($somevar) ? $somevar->value : is_array($somevar) ? $somevar['value'] : '';
issue is that sometime I am getting this error
PHP Error: Cannot use object of type \mypath\method as array in /var/www/htdocs/website/app/resources/tmp/cache/templates/template_view.html.php on line 988
line 988 is the above line I included. I am already checking if its object or array, so why this error then?
It has something to do with priority, or the way PHP is evaluating your expression. Grouping with parentheses solves the problem:
See the notes here: http://www.php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary