Ternary operator not evaluating checkbox values
Solved it!

I redefined the keys for my checkboxes as values rather than strings. Like so:

$hometypes = array(
        1 =&gt; t('Elderly'),
        2 =&gt; t('Disabled'),
        3 =&gt; t('Council tenant'),
        4 =&gt; t('Home owner')
        );


remembering to change this:

$elderly = $form_state['values']['survey'][1];


which means that this:

($elderly == 1 ? '&lt;td&gt;Elderly&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;' : '&lt;td&gt;')


works perfectly.