Как в сокращенном if использовать только 1 вариант?
Это не "сокращенный if". Это - тернарный оператор. Само слово означает "троичный" ибо состоит из 3 частей: условие, первая ветка, вторая ветка. Выводится 1 потому что !false => true => 1. Так работает echo в php.
<?= $id ? 'id = ' . Html::encode($id) : '' ?>
Так устроит?
А вообще уточните версию php :)