aunque insisto que el tema no va en html... a modo de debate, ¿no sería más cómodo usando preg_replace? o algun equivalente, porque me parece haber leido que preg_replace es obsoleto aunque el manual no lo dice asi, o estare confundiendo con otra funcion similar.
Código PHP:
<select><?php
$options = '<option value="">choose option</option>
<option value="0">zero</option>
<option value="1">one</option>
<option value="2">two</option>
<option value="3">three</option>
<option value="4">four</option>';
$select = 4;
echo preg_replace("/value=\"$select\"/", "selected=\"selected\" $0", $options);
?></select>