Тернарный оператор выводит результат 1?
В первом случае не тернарный оператор
Во втором случае: $a = (1==1) ? $a : "YES" — меняйте так, как вам нужно
Всё правильно вы получаете.echo ((1==1) ?? "YES");
Если 1=1 то выводим bool (в данном случае 0 или 1), а иначе выводим YES
Вам скорей всего нужно это echo ((1==1) ? "YES" : "NO");